题解 | #不死神兔问题#
不死神兔问题
https://www.nowcoder.com/practice/9fecec9c776c436b8a03ba0684ac76a7
这个思路不考虑斐波那契数列的数学规律
单从题目本身出发 每对兔子都会从第三个月开始生出下一代的兔子
所以对于当前这一对兔子来说 n>=3时 他能生出的兔子数量就是n-2 再加上自身+1
那么从第三个月开始出生的每一对兔子 都要被当作一对新的兔子去再次调用此函数进行计算
所以就是3~n月 循环累加getSum
(这算不算是个面向对象的思路 小兔子就是新的对象)
int getSum(int n) { // write your code here...... if (n < 3) { return 1; } int sum = 1; //当前这一对兔子 for (int i = n - 2; i > 0; i--) { sum += getSum(i); //对每一对新出生的兔子都要计算getSum } return sum; }