您的位置:

斐波拉契数列计算c语言,用c语言斐波那契数列

本文目录一览:

C语言进阶:求斐波那契数列

工具/材料

visual studio

01

求斐波那契数列有两种思路:循环与递归。我们首先来看循环的方式。为了与实际下标对应,我设置数组第一项为0。

02

对索引i的值进行判断:i==1,则令a[i]=1。否则a[i]=a[i-1]+a[i-2];

03

然后再添加一个打印函数,只需要打印第1-n项即可。

04

编写测试函数,用n=5与n=10测试,代码与结果如下:

05

在这里,我写出求第n项的函数,接下来只需要添加一个外函数就可以求出。

06

接下来,测试n=5与n=10,即依次调用递归函数计算每一个值。

07

运行的结果如下,与之前的循环一致。

斐波那契数列 c语言

#include stdio.h

int fn(int a)

{

if (a==1)

return 1;

else

{

if (a==2)

return 2;

else

return fn(a-1)+fn(a-2);

}

}

void main ()

{

int i;

FILE *fp;

fp=fopen("e:\\jieguo.txt","w"); // 保存的路径,可以该。

for (i=1;i=50;i++)

fprintf(fp,"%d:%d\n",i,fn(i));

fclose(fp);

}

注意: 程序运行的有点慢,要等一会儿, 你可以把 50改成 10 ,就能看见运行的结果了

在E盘的jieguo.txt中。

c语言.计算斐波那契数列的前n项和(s),四种方法?

方法2:

#include stdlib.h

#include stdio.h

int Fibon1(int n)

{

if (n == 1 || n == 2)

{

return 1;

}

else

{

return Fibon1(n - 1) + Fibon1(n - 2);

}

}

int main()

{

int n = 0;

int m=0;

int ret = 0;

printf("请输入要计算的斐波那契数列的前N项总数:");

scanf("%d", n);

m=n;

do

{

ret += Fibon1(n);

n--;

} while (n0);

printf("前%d项目和ret=%d", m,ret);

getchar();

getchar();

return 0;

}

运行结果:

方法4:

#include stdlib.h

#include stdio.h

int Fibon1(int n);

int main()

{

int n = 0;

int m=0;

int ret = 0;

printf("请输入要计算的斐波那契数列的前N项总数:");

scanf("%d", n);

m=n;

do

{

ret += Fibon1(n);

n--;

} while (n0);

printf("前%d项目和ret=%d", m,ret);

getchar();

getchar();

return 0;

}

int Fibon1(int n)

{

if (n == 1 || n == 2)

{

return 1;

}

else

{

return Fibon1(n - 1) + Fibon1(n - 2);

}

}

运行结果:

用c语言计算fibonacci数列的前50项和

#include"stdio.h"

intmain(){

longintf1,f2,i;

f1=1;f2=1;//赋初始值

for(i=1;i=20;i++){//循环20次,一次两个,结果为前50项

printf("%12d%12d",f1,f2);//输出两项

f1=f1+f2;f2=f2+f1;//计算下面两项

if(i%2==0)//一行四个好看用

printf("\n");

}

return0;

}

扩展资料

C语言程序Fibonacci数列计算兔子:

#includestdio.h

#defineYEAR12

intmain()

{

intf[YEAR+1]={0,1,2};//1月和2月兔子对数分别初始化为1,2,不使用f[0]

intmonth;

for(month=3;month=YEAR;month++)//从3月份开始计算每个月总兔数

{

f[month]=f[month-1]+f[month-2];

}

for(month=1;month=YEAR;month++)//输出12个月的总兔对数

{

printf("%d\t",f[month]);

}

printf("\nsum=%d\n",f[YEAR]);//输出年末的兔子总数

return0;

}

求用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起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。