java 实现斐波切纳数列,求解这个算斐波切纳兔子有关问题的算法错哪了(和stl迭代器貌似有点关系)...
求解這個算斐波切納兔子問題的算法哪里錯了(和stl迭代器貌似有點關系)
#include?
#include?
#include?
#define?BORN_AGE?3
#define?DIE_AGE?12
using?namespace?std;
bool?canborn(int?age);
bool?shalldie(int?age);
int?main()
{
int?month=0,count=1;
do
{
cin>>month;
}
while(month<=0);
vector??rabbits;
rabbits.clear();
rabbits.push_back(1);
count=rabbits.size();
for(int?i=1;i<=month;i++)
{
//handle?born
count=rabbits.size();
for(int?ii=0;ii
{
if(canborn(rabbits.at(ii)))
{
rabbits.push_back(1);
}
}
//handle?grow
count=rabbits.size();
for(int?ii=0;ii
//handle?death
count=rabbits.size();
for(int?ii=0;ii
{
if(shalldie(rabbits.at(ii)))
{
rabbits.at(ii)=*(rabbits.end());
rabbits.pop_back();
}
}
}
cout<
system("pause");
return?0;
}
bool?shalldie(int?age)
{
if(age>=DIE_AGE)return?true;
return?false;
}
bool?canborn(int?age)
{
if(age>=BORN_AGE)return?true;
return?false;
}
就是輸入11時(兔子祖先的壽命將達到12個月,就是說它的死期到了)
然后就出問題了。。貌似是溢出(好吧相當于野指針)
算法
vector
------解決方案--------------------
*(rabbits.end())?有問題,end?迭代器不能解引用的。
總結
以上是生活随笔為你收集整理的java 实现斐波切纳数列,求解这个算斐波切纳兔子有关问题的算法错哪了(和stl迭代器貌似有点关系)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大白菜u盘怎么装linux系统教程 大白
- 下一篇: zblog php版调用代码,zblog