900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > c语言——求第n位的斐波那契数 (Fibonacci number)(不考虑溢出)

c语言——求第n位的斐波那契数 (Fibonacci number)(不考虑溢出)

时间:2024-07-02 00:13:06

相关推荐

c语言——求第n位的斐波那契数 (Fibonacci number)(不考虑溢出)

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........ 这个数列从第3项开始,每一项都等于前两项之和。

一:用循环(迭代)法

int Fib(int n) //循环方法{int a = 1;int b = 1;int c = 1;while (n > 2) //当n<=2时不执行 函数返回1;{c = a + b; a = b; b = c; n--;}return c;}int main(){int n = 0;scanf("%d",&n); //键盘输入想查找的第几位数int x = Fib(n);printf("%d\n", x); //输出return 0;}

二:递归方法

Fib1(int n) //递归方法{if (n <= 2){return 1;}else{return(Fib1(n - 1) + Fib1(n - 2));}}int main(){int n = 0;scanf("%d",&n); //键盘输入想查找的第几位数int y = Fib1(n);printf("%d\n", y);return 0;}

用两种方法运行比较,可以发现当输入n较大,会发现用第二种方法--运行效率太低 重复大量计算

第一种效率高

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