数乌龟
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
0
-
描述
-
有一只母
乌龟,它每年年初生一头小母 乌龟。每头小母 乌龟从第四个年头开始,每年年初生一头小母 乌龟。请你计算第n年是共有多少只母 乌龟(第一年是有一头母乌龟)
-
输入
- 输入多组测试数据,每组测试数据占一行,输入一个整数n(0<n<56)n含义如题所示,n=0是表示输入结束 输出
- 每组输出数据占一行,输出第在第n年的时候母乌龟的数量。 样例输入
-
2 4 5 0
样例输出
-
2 4 6
上传者
分析:
这题和兔子繁殖类似;由于
每头小母 乌龟从第四个年头开始,每年年初生一头小母 乌龟,假设今年有 x 个乌龟,则 3 年后这 x 个乌龟都能生殖。所以当 n > 3 时,第 n 年的乌龟等于上一年的乌龟加上第 n - 3 年的乌龟。daim:#include<iostream> #include<cstdio> #define for1(i, a, b) for(int i = a; i <= b; i++) using namespace std; int c[60] = {0, 1, 2, 3}; int main() { //freopen("in.txt", "r", stdin); for1(i, 4, 56) c[i] = c[i - 1] + c[i - 3]; //先递推求值 int n; while(~scanf("%d", &n), n) printf("%d\n", c[n]); return 0; }