1.斐波那契数列,又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。如果每对兔子(一雄一雌)每月能生殖一对小兔子(一雄一雌),每对兔子第一个月没有生殖能力,指的是这样一个兔子对数的数列:1、1、2、3、5、8、13、21、34......,从第三项开始每一项等于前两项之和,如第四项等于第三项加第二项,f[4]=f[3]+f[2]=>f[4]=f[2]+f[1]+1=>f[4]=1+1+1=3。
2.用递推和循环求每一项(f[n] = f[n-1]+f[n-2]),用循环求得项得和。
3.代码如下:
int main()
{int k,n,s; int f[50];printf("求数列的第n项与前n项和,请输入n:");scanf("%d",&n);f[1]=1;f[2]=1; #前两个月兔子对数为1if (n>1) s=2; #s表示兔子对数总和的初始值else s=1;for(k=3;k<=n;k++) #第三个月开始,需要递推每一项{f[k]= f[k-1] +f[k-2];s=s+f[k];} #初始值加上后面每个月的对数printf("F数列第%d项为:%ld\n",n,f[n]);printf("F数前%d项和为:%ld\n",n,s);
}
4.运行效果