#include <iostream> using namespace std; int dfs(int n){ if(n<3){ return 1; } else{ return dfs(n-1)+dfs(n-2); } } int main() { int n;cin>>n; cout<<dfs(n)<<'\n'; return 0; } // 64 位输出请用 printf("%lld")
a表示出生不低于两个月的兔子数量,b表示出生一个月的兔子数量,c表示刚出生的兔子数量,可知:每过一个月就有:
a = a + b
b = c
c = a
兔子总数 = a + b + c
其实就是斐波那契数列。