在网上看到这样一个编程题目
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
//这是一个菲波拉契数列问题
刚看到题目的时候觉得这么短的题目应该是非常简单,但是当我分析完题目时,脑袋里面成了一团浆糊,所以就只好看看别人写的代码——真的是非常简单:
public class lianxi01 {
public static void main(String[] args) {
System.out.println("第1个月的兔子对数: 1");
System.out.println("第2个月的兔子对数: 1");
int f1 = 1, f2 = 1, f, M=24;
for(int i=3; i<=M; i++) {
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.println("第" + i +"个月的兔子对数: "+f2);
}
}
}
问题:该编程题是怎么分析的,如何创建变量及实现需求的,另外以后碰到这样的编程题要怎么进行分析思考?
|