A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© panbingqi 中级黑马   /  2015-4-22 21:59  /  517 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

*
* 斐波那契数列
*
* 1 1 2 3 5 8 13....
*
*
* 需求: 求  第N项的 值
*
* 分析:
*                 n == 1, 值 1
*                 n == 2, 值 1
*                 n == 3, 值 func(n-1) + func(n-2)
*                 n == 4, 值 func(n-1) + func(n-2)
*
* 结论:
*                 递归的出口条件:
*                         n==1, n==2 , 结果为1
*                 递归循环规律:
*                         func(n) = func(n-1) + func(n-2)       
*                        
*/
public class DiguiTest2 {
        public static void main(String[] args) {
                //int n = 5;
                //int n = 7;
                int n = 20;
                int num = func(n);//n=5,7,20
                System.out.println(num);
        }

        public static int func(int n) {
                if (n == 1 || n == 2) {
                        return 1;
                } else {
                        return func(n-1)  + func(n-2);
                }
        }
}

2 个回复

倒序浏览
楼主不错了  受教了
回复 使用道具 举报
之前看过斐波那契数列,不过还没有做过斐波那契数列的代码,看完楼主的代码很有帮助
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马