欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java 实现斐波切纳数列,求解这个算斐波切纳兔子有关问题的算法错哪了(和stl迭代器貌似有点关系)...

发布时间:2024/10/8 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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迭代器貌似有点关系)...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。