大家好,小探来为大家解答以上的问题。兔子问题的题目和答案,兔子问题这个很多人还不知道,现在让我们一起来看看吧!
1、思路不要乱。
2、这个月的兔子只有两个来源,一个来源是上个月的老兔子,另一个来源是这个月刚出生的兔子,而这个月刚出生的兔子,就是两个月前的所有兔子,因为两个月前的所有兔子,无论两个月前就是老的,还是两个月前刚生的,到了这个月就全部具有生育能力,每只都可以下一对儿,所以可以得到一个递推关系f(n) = f(n - 1) + f(n - 2)。
3、那么程序自然是long fun(int month){ if(month == 1 || month == 2) return 1; else return fun(month - 1) + fun(month -2);}// ***.cpp : 定义控制台应用程序的入口点。
4、int main(){ int Mon; long Num; scanf("%d",&Mon); Num = fun(Mon); printf("第%d月共有兔子%ld只",Mon,Num); return 0; } 至于你的程序,很难把它改正确,因为这题压根不是那个思路,那样想会越想越乱的。
本文到此分享完毕,希望对大家有所帮助。