本帖最后由 zhanghua 于 2011-11-21 13:59 编辑
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
答案如下
public class RabbidsCount2 {
public static void main(String[] args) {
// 直接从第三个月开始算起
int m1=1;
int m2=0;
int m3=1;
for(int i=3;i<40;i++){
m1=m1+m2;
m2=m3;
m3=m1;
}
System.out.println(m1+m2+m3);
}
}
第二种解法:
public static void main(String args[]){
int i=0;
for(i=1;i<=40;i++)
System.out.println(f(i));
}
public static int f(int x)
{
if(x==1 || x==2)
return 1;
else
return f(x-1)+f(x-2);
}
第二种解法我不太懂,假如将刚生的小兔子第一次生小兔子是隔四个月,则我不知道第二种解法该如何解答。望各位进行留言,进行帮助,不胜感激
看完顶,, |
|