700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言 实现斐波那契( Fibonacci )数列

C语言 实现斐波那契( Fibonacci )数列

时间:2019-02-18 01:29:48

相关推荐

C语言 实现斐波那契( Fibonacci )数列

斐波那契数列是由数列前两项之和决定第三项,并以此类推,逐步迭代的二阶递推数列。

解决方案一:循环

输入位数n,输出前n项的数列

#include<stdio.h>int main(){int a,b,c,d=1,f1=1,f2=0;printf("请输入项数n:");scanf("%d",&a);for(;d<=a;d++){b=f1+f2;f1=f2;f2=b;printf("%d",b);}return 0;}

对循环体算法的理解:

开始的条件为f1 f2 b三个参数,其中f1 f2有值存储,b为空;故判断出结束循环体时也应为此形式,且同样为小 中 大的顺序,存储于的值无价值。

退出循环时,f1应为f2f2应为f1+f2根据需要回推算法,发现不能直接替换,否则会互相掣肘,没有一个式子在先进行的情况下不会影响到另外一个,故而调出了f3作为中间的缓存区,此时便解决了问题。

解决方法二:函数的迭代

求斐波那契数列的第n个数

#include<stdio.h>int fun(int x){if(x==1||x==2)return 1;else if(x==0)return 0;x=fun(x-1)+fun(x-2);return x;}int main(){int n;scanf("%d",&n);printf("%d",fun(n));return 0;}

补充:子函数中用switch亦可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。