求用C语言表达斐波那契数列

本人大一新生..编程作业需要这个 不太懂怎么表达递推公式 求高手赐教

#include <stdio.h>

main( ){

long f1,f2,f;

int i,n;

scanf("%d",&n);

f1=f2=1;

if(n<=2)

f=1;

else

for(i=3;i<=n;i++){

f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld\n",f);
}

波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:

F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-29

#include <stdio.h>

main( ){

long f1,f2,f;

int i,n;

scanf("%d",&n);

f1=f2=1;

if(n<=2)

f=1;

else

for(i=3;i<=n;i++){

f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld\n",f);
}

波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:

F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

本回答被网友采纳
第2个回答  2018-02-26
#include "stdio.h"
int main(int argv,char *argc[]){
int a,b,n;
for(a=0,b=1,n=20;n;n--){
printf("%d ",a);
b=b+a;
a=b-a;
}
printf("\n");
return 0;
}

以输出前20个为例:

第3个回答  推荐于2018-02-26
#include<stdio.h>
int main()
{int a=0,b=1,c,i;
 printf("%10d%10d",a,b);    //输出菲波那契数列的前2项
 for(i=2;i<40;i++)          //输出到第40项  
 {c=a+b;                    //根据前面2项计算新的一项
  printf("%10d",c);         //输出一项
  a=b;                      //为下一项计算作准备
  b=c;
 }
 return 0;
}

追答

本回答被网友采纳
第4个回答  推荐于2018-05-06
#include<stdio.h>
void main()
{
long int f1,f2;
int i;
f1=1;
f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld %12ld",f1,f2);
if(i%2==0)
printf("\n");
f1=f1+f2;
f2=f2+f1;
}
}本回答被网友采纳
相似回答