您的位置:首页 > 职场人生

Java经典面试题目解析-斐波那契数列

2018-03-07 23:28 453 查看
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少//这是一个斐波拉契数列问题

解:f(1)=1;
       f(2)=1;
       f(3)开始生兔子,而且此时生兔子的数目一定是在两个月前存在的兔子数,上月前出生的兔子此时还不会生兔子,因此我们只需要知道上个月有多少对兔子+前个月有多少对兔子会生兔子=这个月兔子的数目;
因此f(n)=f(n-1)+f(n-2);
用程序如何写解决方案呢?
public static int calFibonaci(int month) {
if(month<3)
sum=1;
else {
sum=calFibonaci(month-1)+calFibonaci(month-2);
}
return sum;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: