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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 魏-玉-彪 中级黑马   /  2013-10-27 22:47  /  1036 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 魏-玉-彪 于 2013-10-29 23:09 编辑
  1. /*题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
  2. 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
  3. */

  4. public class Tuzi{

  5. public static int tuZhiShu(int a){


  6. if(i==1||i==2){
  7. return 1;}
  8. else return tuZhiShu(a-1)+tuZhiShu(a-2);


  9. public static void main(String[]args){


  10. System.out.print("第个月的免子数是 "+tuZhiShu(a)); }

  11. }


  12. }
复制代码
用递归运算可以解决这个问题,只是算法较难理解,求大侠用更简单的算法解决些问题.








评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

2 个回复

倒序浏览
  1. /**
  2. * 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
  3. * 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
  4. */

  5. public class Tuzi {

  6. public static int tuZhiShu(int a) {
  7. int[] temp = new int[2];

  8. if (a == 1 || a == 2) {
  9. return 1;
  10. } else{
  11. for (int i = 2; i < a; i ++)
  12. {
  13. int tp = temp[0] + temp[1];
  14. temp[1] = temp[0];
  15. temp[0] = tp;
  16. }
  17. return temp[0];

  18. }

  19. }

  20. public static void main(String[] args) {
  21. int i = 5;
  22. System.out.print("第个月的免子数是 " + tuZhiShu(i-1));

  23. }
  24. }
复制代码
这个题目其实就是斐波那契数列的非递归用法,我就弄了个数组,比如你输入的是5的时候,刚开始刚开始temp[0]和temp[1]里面都是1,经过循环一次后,temp[0]里面是2(temp[0]+temp[1]),一次类推,至于main函数里面的为i-1则是因为数组从0开始计算,希望可以帮到你

评分

参与人数 1技术分 +1 收起 理由
To + 1 很给力!

查看全部评分

回复 使用道具 举报 1 0
To 金牌黑马 2013-10-29 21:31:06
藤椅
楼主你好,如果问题已解决请将帖子状态修改为提问结束,
如果未解决请继续追问,谢谢合作
修改方法请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马