java编程中的斐波拉契问题

前天在笔试中遇到一道题,下面就是题目
有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,前10个月问每个月的兔子总数为多少?
刚看到这题目时我想这不是以前做过的应用题吗?就是斐波拉契问题.
于是我把答案写出:1 1 2 3 5 8 13 21 34 55
然后成代码>>>
public static void main(String[] args) {
System.out.println("第1个月兔子对数: 1" );
System.out.println("第2个月兔子对数: 1" );
Int f1=1,f2=1,f;
For(int i=3;i<=10;i++){
f=f2;
f2=f1+f2;
f1=f;
system.out.println(“第”+i+”个月兔子对数:”+f2);
}
}
}

回到宿舍后我在网络上找到一个更易理解的方法>>>>>>>
public class Exp2_1 {
public static int f(int x) {
if(x==1 || x==2) return 1;
else
return f(x-1)+f(x-2);
}
public static void main(String args[]){
int i=0;
for(i=1;i<=10;i++)
System.out.println("第"+i+"个月"+f(i));
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值