通项公式 f(n) =f(n-1)+f(n-2)可以看出它是常系数二阶线性递推式,整理后得到f(n) -f(n-1)-f(n-2)=0,特征方程是r^2-r-1=0,特征方程的解是r1,r2=(1+-sqrt(5))/2,因此可以写出通项,带入出事条件f(0)=0,f(1)=1,可以解得a=1/sqrt(5),b=-1/sqrt(5)。求得斐波那契数列通项公式f(n)=1/sqrt(5)*(pow((1+sqrt(5))/2,n)-pow((1-sqrt(5))/2,n))。sqrt(),求平方根pow(x,y),求x的y次方。
代码如下
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n;
while(1)
{
printf("求取第几个 ");
scanf("%d",&n);
printf("\n");
printf("%.0f\n",(1/sqrt(5)*(pow((1+sqrt(5))/2,n)-pow((1-sqrt(5))/2,n))));
}
system("pause");
}
斐波那契数列(高数)C语言代码
最新推荐文章于 2025-04-09 22:05:35 发布