首页 > 代码库 > 各种算法七

各种算法七

各种算法七

    在第六篇中,我简单的提了一下递归的思想;至于什么是递归,以及我对递归的理解,请看这里:http://www.cnblogs.com/mc67/p/5114008.html

技术分享

 

如果,不理解递归就看上面的图,如果还是不理解,就自己百度;

1.递归应用:阶乘函数

递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决

阶乘n!= 1 * 2 * 3 * 4 * ··· * n 

         //具体的实现;
        //ps阶乘的英文是:factorial
        public static int factorial(int n)
        {
            if (n == 1)
            {
                return 1;
            }
            else
            {
                return  n * factorial(n - 1);
            }

        }

然后就是我们的....

2.递归的应用输入 n,求斐波那契数列第n个数,

   这到道题可以说是被我们的面试官考烂的一道一呀;

   首先你得要找出斐波那契数的规律滴啊:0 1 1 2 3 5 8 13 21......

   第3项开始,每一项都等于前两项之和

 public static int fibonacci(int n)
        {
            if (n == 0) { return 0; }
            if (n == 1) { return 1; }
            //从第三项,开始,我们的规律就出来了滴啊;
            return fibonacci(n) + fibonacci(n - 1);
            //这个及时我们的额规律滴哎呀;,效果还是不错滴哎呀
        }

3.递归的应用,找到我们的回文数滴呀

 首先你要理解什么是我们的额回文数滴呀;

就是一个字符串,从左到右边,以及从右到左边,完全是一样的;level aoa oco

递归的作用在于把问题的规模不断缩少,直到问题缩少到能简单地解决

 

各种算法七