题解 | #统计每个月兔子的总数#

统计每个月兔子的总数

http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395

1、斐波那契数列 f(n)=f(n-1)+f(n-2);
2、主函数输入多组数据,所以需要将每次调用f(month)返回的结果存储起来
3、打印存储数组的结果;
#include<iostream>
#include<vector>
using namespace std;
// int f(int n){ //方法一
// return n<3 ? 1:f(n-1)+f(n-2);
// }
// int main(){
// int month;
// cin>>month;
// cout<<f(month)<<endl;
// return 0;
// }
int f(int n){ //方法二
int sum[n+1];
sum[0]=1;
sum[1]=1;
int i;i=2;
while(i<=n){
sum[i]=sum[i-1]+sum[i-2] ;
i++;
}
return sum[n-1];
}
int main (){
int month;
vector<int> ans;
while(cin>>month){
if(month<=2) ans.push_back(1);
else{
ans.push_back(f(month)); //将每次计算得到的结果存储起来;
}
}
for(int i=0; i<ans.size();i++){ //打印多次输入的结果
cout<<ans[i]<<endl;
}
return 0;
}</int></vector></iostream>

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务