文章目录

  • 1. 题目
  • 2. 思路
  • 3. 代码
  • 4. 运行结果

1. 题目

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

2. 思路

可以看出:

  • 第一个月:1
  • 第二个月:1
  • 第三个月:2
  • 第四个月:3
  • 第五个月:5
  • 第六个月:8

所以这是一个斐波那契数列问题
所以如果想实现这个序列的话,我们把他画出来看一下

  • 我们最初得到的是前两个月的情况,作为初始化
  • 我们现在的任务是将 j 指针用来求和来产生新的数字,而将i指针不断向右移,以此来达到求和的因子不断更新的作用,所以我们就按照这个思路来:
    ① 用j 来求和
    ② 然后把i 移到右边来获取到未求和之前j 的数值
  • 因此,我们想在过程中保持j 的状态,就需要一个中间的替换量temp

3. 代码

public class rabit {public static void main(String[] args) {int i = 1;int j = 1;System.out.println("第1个月的兔子数量为:1对");System.out.println("第2个月的兔子数量为:1对");for (int k = 3; k < 24; k++) {int temp = j;j = temp + i;i = temp;System.out.println("第" + k + "个月的兔子数量为:" + j + "对");}}
}

4. 运行结果

Java编程练习之:有关兔子的斐波那契数列问题解析相关推荐

  1. 有趣的兔子(斐波那契数列)

    有趣的兔子(斐波那契数列) 如果每对兔子每月繁殖一对子兔,而子兔在出生后第二个月就有生殖能力,试问一对兔子一年能繁殖多少对兔子?可以这样思考:第一个月后即第二个月时,1对兔子变成了两对兔子,其中一对是 ...

  2. Java编程怎么打印输出第n项斐波拉契数

    具体实现方法: package JavaWork_03; /** Goal:求第n项斐波那契数* Author:@Tang.Mitnick* Site:ChongQing* */ //设计思想:运用一 ...

  3. java笔试题(一):斐波那契数列

    题目: 已知斐波纳契数列如下:F[1] = 1, F[2] = 1, F[3] = 2, F[4] = 3, ..., F[n] = F[n-1] + F[n-2],那么请问F[34] + F[32] ...

  4. 古老递归问题(兔子版本斐波那契数列)

    题目: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 首先,我目前还是菜鸟,若解答有问题,直接评论戳我吧! 这是 ...

  5. 兔子生兔子问题(斐波那契数列)

    问题描述: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 分析: 这道题我们可以把兔子分为三个阶段,幼崽.成年,生 ...

  6. Java代码实现用for循环打印斐波那契数列前20项

    /*** 需求:编写代码按照要求实现以下的功能 * 用for循环打印 1 1 2 3 5 8 13 ...(斐波那契数列前20项)* 要点提取:斐波那契数列规律:第三个数起,是前两个数之和* 思路分析 ...

  7. 算法设计与分析(Java实现)—— 动态规划(入门)斐波那契数列

    斐波那契数列 递归 记忆化递归 动态规划 public class dp {//# 递归的的斐波那契数列解决方法 时间复杂度O(2^n)public long fibonacci(int n) thr ...

  8. 1 1 2 3 5 8 java_1 1 2 3 5 8 13 21 34规律:一个数据等于前两个数之和.用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值....

    优质解答 import java.util.Scanner; public class Fibonacci { private int fibonacciArrLength = 0;// 斐波那契数组 ...

  9. 兔子问题(斐波那契数列)

    有这样一个有趣的"兔子问题":"假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一 ...

最新文章

  1. 辗转相除法是求两个数的最大公约数的方法。
  2. XE3随笔6:SuperObject 的 JSON 对象中还可以包含 方法
  3. 是不是一个东西_小说:他伸手一摸,摸到一块凉凉的东西,拿起来一看是个黑色牌子...
  4. SASS type-of 函数
  5. boost::phoenix::for_each相关的测试程序
  6. 【C语言】C语言学习整理-putchar,printf,getchar,scanf定义及区别
  7. basic与java,[求助]郁闷啊~!有没有会BASIC和JAVA的!帮帮忙呀!
  8. 【转】vc6.0配置STLPort
  9. jquery事件绑定的几种用法
  10. 手机 省份证 归属地查询接口
  11. Arduino 和 HC-SR04 超声波传感器 测距
  12. 无油螺杆鼓风机-市场现状及未来发展趋势
  13. 校园网使用家用无线路由器
  14. MIUI ROM 定制教程
  15. win10 设备管理器中没端口选项解决方法
  16. Nitro League 出品 | P2E 系列 101——第三部分
  17. 因证书过期导致Java 执行http相关动作失败
  18. SpringCloud_Alibaba微服务学习---sentinel—流量卫兵
  19. LaTeX如何输出反斜杠 \
  20. 基于图像的光照(Image-Based Lighting, IBL)概述

热门文章

  1. DataV中数字翻牌器的使用
  2. 【flutter】篇8-2:Animations
  3. 德国大陆4D毫米波雷达ARS548开发
  4. 设计师收藏的20款英文手写字体【免费下载】
  5. 小米mix3 android os是什么,小米MIX 3
  6. 如何使用帮助文档echarts
  7. 基于java红河旅游信息服务系统计算机毕业设计源码+系统+lw文档+部署
  8. Python中的图像处理(第十一章)Python图像锐化及边缘检测(1)
  9. 使用万能表单解析程序将表单数据封装成ListMap
  10. CVPR 2018 | 鸡尾酒网络DCTN:源分布结合律引导的迁移学习框架