本文主要是介绍JAVA——实现古典问题之不死神兔问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:古典问题
* 有一对兔子,从出生后第3个月起每个月都生一对兔子,
* 小兔子长到第三个月后每个月又生一对兔子,
* 假如兔子都不死,问每个月的兔子总数为多少?
思路: 第一個月:1
* 第二個月:1
* 第三個月:2
* 第四個月:3
* 第五個月:5
* 第六個月:8
* 第七個月:13
* 总结:第N个月的兔子数量=前面两个月的兔子数量总数之和,总数为:本月数量的2倍。
代码如下:
int arr[] = new int[10];
arr[0] = 1;
arr[1] = 1;
System.out.println("第1个月的兔子数量:" + 1 + ",总数为:" + 1);
System.out.println("第2个月的兔子数量:" + 1 + ",总数为:" + 2);
for(int i = 2;i <= 9;i++){arr[i] = arr[i-1]+arr[i-2]; System.out.println("第"+(i+1)+"个月的兔子数量:" + arr[i] + ",总数为:" + 2*arr[i]);
}
输出结果如下:
第1个月的兔子数量:1,总数为:1
第2个月的兔子数量:1,总数为:2
第3个月的兔子数量:2,总数为:4
第4个月的兔子数量:3,总数为:6
第5个月的兔子数量:5,总数为:10
第6个月的兔子数量:8,总数为:16
第7个月的兔子数量:13,总数为:26
第8个月的兔子数量:21,总数为:42
第9个月的兔子数量:34,总数为:68
第10个月的兔子数量:55,总数为:110
这篇关于JAVA——实现古典问题之不死神兔问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!