首页 新闻 会员 周边

如何用递归处理问题

0
[已解决问题] 解决于 2016-12-28 09:48

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一

对兔子,假如兔子都不死,问每个月的兔子总数为多少? 
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

这个问题是递归问题吗?递归的思路是什么?

猴儿的主页 猴儿 | 菜鸟二级 | 园豆:203
提问于:2016-12-27 11:38
< >
分享
最佳答案
1

递归简单理解就是自己调用自己,如你的例子可以这样来写:

public static int Fn(int n)

{
if (n <= 0)
{
throw new ArgumentOutOfRangeException();
}

if (n == 1||n==2)
{
return 1;
}
return (Fn(n - 1) + Fn(n - 2));
}

 

奖励园豆:5
大师兄丶 | 小虾三级 |园豆:843 | 2016-12-27 17:14

谢谢大神

猴儿 | 园豆:203 (菜鸟二级) | 2016-12-28 09:47
其他回答(2)
0

是递归问题,看看斐波那契数列

silianpan | 园豆:571 (小虾三级) | 2016-12-27 12:09

谢谢

支持(0) 反对(0) 猴儿 | 园豆:203 (菜鸟二级) | 2016-12-28 09:47
0

思路是后一个数字是前两个数字的和,  f(n+2)=f(n+1)+f(n), f(1)=1,f(2)=2,你写个函数就行

悦光阴 | 园豆:2251 (老鸟四级) | 2016-12-27 12:20

谢谢

支持(0) 反对(0) 猴儿 | 园豆:203 (菜鸟二级) | 2016-12-28 09:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册