黑马程序员技术交流社区
标题:
我是基础班学员,求解答个问题!!
[打印本页]
作者:
四季
时间:
2015-4-3 21:17
标题:
我是基础班学员,求解答个问题!!
/*
【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问十个月的兔子对数为多少?
*/
public class DemoTu
{
public static void main(String[] args)
{
int n = 10;
System.out.println("第"+n+"个月兔子总数为"+fun(n));
}
private static int fun(int n)
{
if(n==1 || n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}
}
谁能帮我把这个代码清楚的解释一遍!求求。。。
作者:
18234133910
时间:
2015-4-3 21:27
当n为1 或2时 只有这一对兔子存在,当n等于3时,这里采用的是递归算法,就是方法内部调用方法,fun(n-1)和fun(n-2)当n=3时也就是1+1=2 后面的同理,也就是比3大1就会多加1对,每次递归,最终得到总数。
作者:
怀念子龙
时间:
2015-4-3 21:32
这个就是斐波那契数列嘛。1 1 2 3 5 8......... 就是前面两项之和等于第三项。
数学表达就是 f(n)=f(n-1)+f(n-2);
已知 f(1)=1;f(2)=1;
求f(10);
然后再用函数递归解决了。建议自己网上百度一下递归的资料。
作者:
WOR
时间:
2015-4-3 21:59
斐波那契数列 要从第三个月开始算的 这就是下面那段的意义
作者:
onlybin2015
时间:
2015-4-3 22:08
这个就是斐波那契数列嘛。1 1 2 3 5 8......... 就是前面两项之和等于第三项。 数学表达就是 f(n)=f(n-1)+f(n-2); 已知 f(1)=1;f(2)=1; 求f(10); 然后再用函数递归解决了。建议自己网上百度一下递归的资料
作者:
showdy
时间:
2015-4-3 22:12
斐波那契函数,方法的递归就可以解决。
作者:
tubao1991
时间:
2015-4-3 23:15
虚心求教
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2