老鼠繁殖问题(兔子问题的典型例题)

2020-10-28 教育 179阅读
要用到待定系数法
a[n+1]-x1*a[n]=x2(a[n]-x1*a[n-1])
移项整理后对比系数得到:
x1+x2=1,x1x2=-1
解得:x1=(1+√5)/2,x2=(1-√5)/2
所以:a[n+1]-x1*a[n]=x2^(n-1)(a[2]-x1*a[1])
两边同时除以x1^(n+1)
a[n+1]/x1^(n+1)-a[n]/x1^n=(x2/x1)^(n-1)(a[2]-a[1])/x1^2
然后采用迭加法即可得到a[n]/x1^n
从而可以得到a[n]
将a[2]=a[1]=1带入化简整理即可得到:
a[n]=[((√5+1)/2)^n-((1-√5)/2)^n]/√5
经典C程序100例里面有这个
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n"); /*控制输出,每行四个*/
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/
}
getch();
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com