public static long sum(int index) {
long f1 = 1L;
long f2 = 1L;
long f = 0;
for (int x = 0; x < index - 2; x++) { //这里应该是少2个月的
f = f1 + f2; //这里是什么意思呢?
f1 = f2; //还有这
f2 = f; //这个
}
return f;
}
public static void main(String[] args) {
System.out.println("一年下来共有兔子:" + sum(12));
}
for (int x = 0; x < index - 2; x++){ //这里应该是少2个月的 //因为1 2月 都是1对兔子 是从第三个月才开始累加的
f = f1 + f2; //这里是什么意思呢? //把前面2个月的兔子和 赋值给当月
f1 = f2; //还有这 //把上上个月的兔子总和赋值给F1
f2 = f; //这个 // 把当月总和赋值给F2 做好下次运算的准备
//这个上面 你可以理解为是一个交换值的方式
System.out.println(f+f1+f2);
}
return f;
}
public static void main(String[] args) {
System.out.println("一年下来共有兔子:" + sum(12));
}
}
复制代码
你可以看下数组的规律 从第三月开始 前2个月的总和 等于当月兔子的数量作者: 耿鑫 时间: 2012-6-20 13:17
public class Test
{
public static long sum(int index)
{
long f1 = 1L;
long f2 = 1L;
long f = 0;
for (int x = 0; x < index - 2; x++)// 这里应该是少2个月的
{
f = f1 + f2; // 这里是什么意思呢?
f1 = f2; // 还有这
f2 = f; // 这个