死亡兔子问题
问题:第1年有1对兔子,每对兔子从出生后第3个年起,就可每年生1对兔子,兔子的寿命是6年,问第n年有多少对兔子?#include<iostream>#include<list>using namespace std;intrabbit(int n){list<int> ral;list<int>::iterator m;list<int>::iterator j;ral.push_back(0);for(int i=0;i<=n;i++){for(j=ral.begin(),m=ral.end();j!=m;j++){if(*j>=6){j=ral.erase(j);j--;}}for(j=ral.begin(),m=ral.end();j!=m;j++){if(*j>=3)ral.push_back(0);++(*j);}}return ral.size();}int main(){cout<<rabbit(6)<<endl; return 0;}
网上看到很多人都是用递归做的,但我实在是想不出递归的原理……只好想了一个这样的笨方法了
页:
[1]