Java编程练习之:有关兔子的斐波那契数列问题解析
文章目录
- 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对兔子变成了两对兔子,其中一对是 ...
- Java编程怎么打印输出第n项斐波拉契数
具体实现方法: package JavaWork_03; /** Goal:求第n项斐波那契数* Author:@Tang.Mitnick* Site:ChongQing* */ //设计思想:运用一 ...
- 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] ...
- 古老递归问题(兔子版本斐波那契数列)
题目: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 首先,我目前还是菜鸟,若解答有问题,直接评论戳我吧! 这是 ...
- 兔子生兔子问题(斐波那契数列)
问题描述: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 分析: 这道题我们可以把兔子分为三个阶段,幼崽.成年,生 ...
- Java代码实现用for循环打印斐波那契数列前20项
/*** 需求:编写代码按照要求实现以下的功能 * 用for循环打印 1 1 2 3 5 8 13 ...(斐波那契数列前20项)* 要点提取:斐波那契数列规律:第三个数起,是前两个数之和* 思路分析 ...
- 算法设计与分析(Java实现)—— 动态规划(入门)斐波那契数列
斐波那契数列 递归 记忆化递归 动态规划 public class dp {//# 递归的的斐波那契数列解决方法 时间复杂度O(2^n)public long fibonacci(int n) thr ...
- 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;// 斐波那契数组 ...
- 兔子问题(斐波那契数列)
有这样一个有趣的"兔子问题":"假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问一 ...
最新文章
- 辗转相除法是求两个数的最大公约数的方法。
- XE3随笔6:SuperObject 的 JSON 对象中还可以包含 方法
- 是不是一个东西_小说:他伸手一摸,摸到一块凉凉的东西,拿起来一看是个黑色牌子...
- SASS type-of 函数
- boost::phoenix::for_each相关的测试程序
- 【C语言】C语言学习整理-putchar,printf,getchar,scanf定义及区别
- basic与java,[求助]郁闷啊~!有没有会BASIC和JAVA的!帮帮忙呀!
- 【转】vc6.0配置STLPort
- jquery事件绑定的几种用法
- 手机 省份证 归属地查询接口
- Arduino 和 HC-SR04 超声波传感器 测距
- 无油螺杆鼓风机-市场现状及未来发展趋势
- 校园网使用家用无线路由器
- MIUI ROM 定制教程
- win10 设备管理器中没端口选项解决方法
- Nitro League 出品 | P2E 系列 101——第三部分
- 因证书过期导致Java 执行http相关动作失败
- SpringCloud_Alibaba微服务学习---sentinel—流量卫兵
- LaTeX如何输出反斜杠 \
- 基于图像的光照(Image-Based Lighting, IBL)概述