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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵旗 中级黑马   /  2015-5-16 23:43  /  345 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2. * 练习2: 斐波那契数列 1 1 2 3 5 8 13(递归)
  3. *
  4. * 分析:
  5. * 1.数列的第一个,第二个数都是1
  6. * 2.从第三个数开始 数是数的前2个值相加得到的值
  7. * 3.递归的部分
  8. */
  9. public class Test3 {
  10.        
  11.         public static void main(String[] args){
  12.                 int d = sum(3);
  13.                 System.out.println(d);
  14.         }
  15.        
  16.         public static int sum(int n){
  17.                 if(n==2||n==1){
  18.                         return 1;
  19.                 }
  20.                 else{
  21.                         return sum(n-1)+sum(n-2);
  22.                 }
  23.                
  24.                
  25.         }
  26. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

3 个回复

倒序浏览
有道算几个月有多少只兔子的题其实也就是算斐波那契数列,我没用递归,用了一个笨方法也实现了。

import java.util.Scanner;
class Rabbit{       
        public static void main(String[] args){
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入月份:");
                int n = sc.nextInt();
                int m1 = 1;
                int m2 = 1;
                int temp = 0;
                if (n == 1 || n == 2){
                System.out.println("第"+n+"个月兔子总数是1");
                }
               
                else{       
                        for (int x = 3;x<=n ;x++ ){       
                                temp = m1 + m2;
                                m1 = m2;
                                m2 = temp;
                        }
                System.out.println("第"+n+"个月兔子总数是"+temp);
                }
        }
}
回复 使用道具 举报
太厉害了   不死神兔:lol
回复 使用道具 举报
兔子的问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马