古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
package Test; /** * 斐波拉契数列问题(兔子问题) * 可推导递推公式 * f(n+1)=f(n)+f(n-1) * */ public class FibonacciNumeral { public static void main(String[] args) { System.out.println("第一个月的兔子为1"); System.out.println("第二个月的兔子为1"); //声明初始一二月兔子的个数及总月数 int s1=1,s2=1,s,month=24; for(int i=3;i<month;i++){ s=s2; // s2=s2+s1; //此时第一个s2相当于f(n+1)月份的兔子总数,s1相当于f(n)月份的数据 s1=s; //将s中保存s2的数据赋值给s1(相当于f(n-1)) System.out.println("第"+i+"月份的兔子为"+s2); } } }
原文:http://www.cnblogs.com/TankRuning/p/3773775.html