兔子数列变形
2017-09-05 10:05
288 查看
兔子数列,又称斐波那契数列,f(n)=f(n-1)+f(n-2),该式子对应于兔子有无限寿命的情况。
对于自然条件下的兔子,兔子应该是有寿命的。因此,对于原问题进行重新描述:
第一年有一对兔子,兔子第三年可以产下一对兔子,此后每年都可以产下一对兔子,兔子寿命是6年,第六年的兔子不再产生兔子。
问:n年以后有多少对兔子?
#include <iostream>
#include<vector>
#include<numeric>
using namespace std;
int main()
{
vector<int>a(6);//兔子第三年开始繁殖
a[0]=1;//初始化,1岁的兔子有1只,2岁-6岁都是0只(a=1,0,0,0,0,0)
for(int i=1;i<=6;i++)
{
a.pop_back();
int sum=accumulate(a.begin()+1,a.begin()+4,0);
a.insert(a.begin(),sum);
}
int s=0;
for(int i=0;i<6;i++)//第六年各年龄段的兔子数目
{
s+=a[i];
}
cout<<s;
return 0;
}
第六年兔子的数目:
对于自然条件下的兔子,兔子应该是有寿命的。因此,对于原问题进行重新描述:
第一年有一对兔子,兔子第三年可以产下一对兔子,此后每年都可以产下一对兔子,兔子寿命是6年,第六年的兔子不再产生兔子。
问:n年以后有多少对兔子?
#include <iostream>
#include<vector>
#include<numeric>
using namespace std;
int main()
{
vector<int>a(6);//兔子第三年开始繁殖
a[0]=1;//初始化,1岁的兔子有1只,2岁-6岁都是0只(a=1,0,0,0,0,0)
for(int i=1;i<=6;i++)
{
a.pop_back();
int sum=accumulate(a.begin()+1,a.begin()+4,0);
a.insert(a.begin(),sum);
}
int s=0;
for(int i=0;i<6;i++)//第六年各年龄段的兔子数目
{
s+=a[i];
}
cout<<s;
return 0;
}
第六年兔子的数目:
相关文章推荐
- Java中利用递归实现斐波纳斯数列的兔子问题,动态输出兔子的总数
- 斐波那契数列【黄金分割数列】-兔子问题
- 斐波那契数列(兔子问题)的变形
- 兔子产子——斐波那契(Fibonacci)数列
- MOOC清华《程序设计基础》第6章:三种递推方法求兔子数列问题(斐波那契数列)
- js算法集合(二) javascript实现斐波那契数列 (兔子数列) Javascript实现杨辉三角
- 兔子繁殖问题即斐波那契数列的java实现
- HDU2842之斐波那契亚数列变形,动态规划
- 斐波那契数列(兔子数列)
- Fibonacci數列(用此数列可以解决兔子生娃的问题)
- 斐波那契数列(兔子数列)
- 斐波那契数列的变形---跳台阶及矩形覆盖
- 20170611 用JS while循环实现斐波那契数列求兔子总数
- 斐波那契数列及其变形问题(跳台阶,变态跳台阶,矩形覆盖)
- 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21...
- 斐波那契数列(兔子数列)计算函数式
- 斐波那契数列及变形题
- 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,
- 斐波那契数列-有一对兔子
- 斐波那契数列。古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少?