数乌龟
时间限制:1000 ms | 内存限制:65535 KB
难度:0
-
描述
- 有一只母
乌龟,它每年年初生一头小母乌龟。每头小母乌龟从第四个年头开始,每年年初生一头小母乌龟。请你计算第n年是共有多少只母乌龟(第一年是有一头母乌龟)
-
输入
- 输入多组测试数据,每组测试数据占一行,输入一个整数n(0<n<56)n含义如题所示,n=0是表示输入结束 输出
- 每组输出数据占一行,输出第在第n年的时候母乌龟的数量。 样例输入
-
2 4 5 0
样例输出 -
2 4 6
-
-
分析:一开始做这题好像以前做过,好水的题目 居然做错了 其实就是有规律的 刚开始以为弄个递增数每次加起来 但是后来发现并不是每一年只多一只,有可能3年前生了两只 那么今年就要加2只!
-
f[n]=f[n-1]+f[n-3]
-
理解:第n年的乌龟=上一年的乌龟数+今年增加的乌龟数
-
今年增加的乌龟数由三年前决定 所以就这样...
-
感觉自己好菜 做了好久
-
-
//AC代码
-
#include "iostream" using namespace std; int main(){ int n,i,a[60]; a[1]=1;a[2]=2;a[3]=3; for(i=4;i<56;i++) a[i]=a[i-1]+a[i-3]; while(cin>>n){ if(n==0) break; cout<<a[n]<<endl; } return 0; }