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
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起出版了以《斐波纳契数列季刊》为名的一份数学弯饥杂志,用于专门刊载这方面的研究成果。
斐波那契数列 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中。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c语言斐波那契数列子函数 c语言写斐波那契数列
本文地址: https://pptw.com/jishu/6031.html