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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 钟林杰 中级黑马   /  2013-4-16 08:24  /  1691 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
让技术飞,每日一题
今天这题是在网上看到的菲那契数列问题,不知道的可以百度一下“菲那契数”,这个可以指导你如何解题,
和让技术飞有奖活动第一期的题目差不多哦。
题目:有一对兔子从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
                        假如兔子都不死,问每个月的兔子总数为多少?
                       
                       
*/
/*根据斐波那契的递推关系可解此题。
        递推关系如下:
        f(1)=1
        f(2)=f(1)+f(0)
        f(3)=f(2)+f(1)
        f(4)=f(3)+f(2)
        f(5)=f(4)+f(3)
        ......
        f(n)=f(n-1)+f(n-2),其中n>=2
        3f(n)=f(n+2)+f(n-2)
       
*/
class Test
{
                public static void main(String args[])
                {
                        rabbit(24);
                }
                public static void rabbit(int month )
                {
                        int f1 = 1,f2 = 1,f;  
                        System.out.println("第1个月有"+f1+"只兔子");
                        System.out.println("第2个月有"+f2+"只兔子");
                        for(int i = 3;i <= month ; i++)
                        {
                                f = f2;
                                f2 = f2 +f1;
                                f1 = f;
                                System.out.println("第"+i+"个月有"+f1+"只兔子");
                        }
                }
}

8 个回复

倒序浏览
我顶你!
回复 使用道具 举报
又来了,这是自考书上,有的题目!在自考题库里面有详细解答,我就懒得写上来了。课程代码是4747
回复 使用道具 举报
梁耀今 发表于 2013-4-16 08:34
又来了,这是自考书上,有的题目!在自考题库里面有详细解答,我就懒得写上来了。课程代码是4747 ...

啊??自考书上居然有这道题啊,我汗,我没看到过,让技术飞的第一期有奖答题居然不会做!!:funk:
回复 使用道具 举报

回复看看
回复 使用道具 举报
支持。。。
回复 使用道具 举报
  1. public class Test {

  2.          public  static int rabbit(int a){
  3.                  if(a>3){
  4.                          return rabbit(a-1)+rabbit(a-2);
  5.                  }
  6.                  else return 1;
  7.          }
  8.         public static void main(String[] args) {
  9.                 // TODO Auto-generated method stub
  10.                
  11.                 for(int i=1;i<=24;i++)
  12.                 {
  13.                         int sum=rabbit(i);
  14.                          System.out.println("第"+i+"个月有"+sum+"只兔子");
  15.                 }
  16.                

  17.         }

  18. }
复制代码
回复 使用道具 举报
不错....
回复 使用道具 举报
可见 中级黑马 2013-4-16 13:38:31
9#
支持一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马