4.古典问题:有一对兔子(斐波那契数列)
Posted xyblogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.古典问题:有一对兔子(斐波那契数列)相关的知识,希望对你有一定的参考价值。
题目:
/**
* 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
* 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个
* 月的兔子总数为多少?
*
*/
解析:
/**
* 1.这是一个斐波那契数列,第三个数等于前两个数之和
* 2.定义变量,第一个数,第二个数,第三个数,都会随着月数的变化而变化
* 总而言之就是动态的
* 第一,第二,第三都是相对的
*/
public class Programmer1 { public static void main(String[] args) { /** * 1.这是一个斐波那契数列,第三个数等于前两个数之和 * 2.定义变量,第一个数,第二个数,第三个数,都会随着月数的变化而变化 * 总而言之就是动态的 * 第一,第二,第三都是相对的 */ int first = 1; int second = 1; int third ; for(int month=1;month<25;month++){ if(month>2){ third = first +second; first = second; second =third; System.out.println("第"+month+"个月有"+third+"对兔子"); }else{ System.out.println("第"+month+"个月有"+first+"对兔子"); } } System.out.println("-------------------------用数组实现---------------------"); /** * 用数组实现菲波那切数列数列 * 1.定义一个数组来存储兔子的对数 * 2.第一,第二个数赋值为1 * */ int[] arr = new int[24]; arr[0]=1; arr[1]=1; for(int i=2;i<arr.length;i++){ arr[i]=arr[i-1]+arr[i-2]; System.out.println("第"+(i+1)+"个月有"+arr[i]+"对兔子"); } } }
结果:
第1个月有1对兔子
第2个月有1对兔子
第3个月有2对兔子
第4个月有3对兔子
第5个月有5对兔子
第6个月有8对兔子
第7个月有13对兔子
第8个月有21对兔子
第9个月有34对兔子
第10个月有55对兔子
第11个月有89对兔子
第12个月有144对兔子
第13个月有233对兔子
第14个月有377对兔子
以上是关于4.古典问题:有一对兔子(斐波那契数列)的主要内容,如果未能解决你的问题,请参考以下文章
使用循环解决斐波那契数列Fibonacci sequence