/*题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?
*程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
*/
#include<iostream>
#include<iomanip>
using namespace std;
int fit(int n);
int main()
{
int n,i;
cout<<"请输入月的个数: ";
cin>>n;
cout<<"每个月的兔子的对数如下:"<<endl;
for(i=1;i<=n;i++)
{
cout<<setw(8)<<fit(i);
if(i%5==0)
cout<<endl;
}
cout<<endl;
return 0;
}
int fit(int n)
{
int sum=0;
if(n==1||n==2)
sum=1;
else
sum=fit(n-2)+fit(n-1);
return sum;
}
运行结果:
本文探讨了一对兔子从出生后第三个月开始每月繁殖一对的模式,通过动态规划算法计算每个月兔子对的数量,展示了经典的斐波那契数列应用。
1062

被折叠的 条评论
为什么被折叠?



