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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
题目:古典问题:有一对兔子,
从出生后第3个月起每个月都生一对兔子,
小兔子长到第四个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?   
*/
我觉得找规律还是不靠谱
如何用递归做这道题?

11 个回复

倒序浏览
很经典的递归题目,后一个月的兔子对数是之前两个月数目之和。
  1. public class Demo3 {

  2.         public static void main(String[] args) {
  3.                 /*
  4.                  * 月数:1        2        3        4        5        6        7
  5.                  * 对数:1        1        2        3        5        8        13
  6.                  */
  7.                 System.out.println(getNum(7));
  8.         }
  9.         public static int getNum(int x){//x为月数,返回兔子对数
  10.                 if(x==1)
  11.                         return 1;
  12.                 if(x==2)
  13.                         return 1;
  14.                 return getNum(x-1)+getNum(x-2);
  15.         }

  16. }
复制代码
回复 使用道具 举报
fenglinluomu 发表于 2015-5-9 15:16
很经典的递归题目,后一个月的兔子对数是之前两个月数目之和。

给力!!
回复 使用道具 举报
递归就是找规律然后得到算法,执行重复的步骤。
回复 使用道具 举报
本质是斐波那契数列
回复 使用道具 举报
留名学习
回复 使用道具 举报
好废神的问题
回复 使用道具 举报
谢谢啦 ............
回复 使用道具 举报
这类问题其实没什么技术含量,就是斐波那契数列的演变!
回复 使用道具 举报
来学习了
回复 使用道具 举报
斐波那契数列
回复 使用道具 举报
这是和算法当中的Fibonacci数列相似的问题吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马