c语言 之求 Fibionacci 数列的前n个数
来源:互联网 发布:淘宝客ab单哪里有 编辑:程序博客网 时间:2024/04/27 16:43
Fibionacci数列有如下特点:前两个数都为1,从第三个数开始,该数是前两个数之和。
即:
F1=1;(n=1)
F2=1;(n=2)
Fn=Fn-1+Fn-2;(n>2)
下面给出几种求法:
解法一:
#include <stdio.h>int fib(int n){int fib1 =1;int fib2 =1;int fib = 1;int i = 0;while (n > 2){fib1 = fib1 + fib2;fib2 = fib1 - fib2;n--;}return fib1 ;}int main(){int n = 0;int ret =0;printf("请输入要求 Fibionacci 数列的第几个数:\n");scanf("%d", &n);ret = fib(n);printf("%d \n", ret);system("pause");return 0;}
解法二:
int fib(int n){int fib1 =1;int fib2 =1;int fib = 1;int i = 0;while (n > 2){fib = fib1 + fib2;fib1 = fib2;fib2 = fib;n--;}return fib ;}
测试方法同上,这里不再重复写
解法三:
除了上述方法外,还可以使用递归的方式
int fib(int n){if (n <= 2)return 1;else{return fib(n - 1) + fib(n - 2);}}
但是请注意,递归的方法虽然代码简单,可读性强,但不是最好的办法,因为在递归调用时涉及到运行时开销,参数必须被压到堆栈,为局部变量分配内存空间,当递归太深时,会出现栈溢出。对于这个程序而言,当所求n较大时,递归函数并不会简化问题。
1 0
- c语言 之求 Fibionacci 数列的前n个数
- C语言:求Fibonacci数列的前n项和
- C语言 求一个数列的前n项之和,保留两位小数。
- C语言学习之 求Fibonacci数列前40项
- 求Fibonacci数列的前10个数
- 求Fibonacci数列的前四十个数
- C语言之函数调用05—列出斐波纳契数列的前n项
- 第五周-C语言 输出斐波那契数列前n个数
- 初学C语言:斐波那契数列(求前n项和)
- 递归算法——求Fibonacci数列前n项(Java实现&C语言实现)
- 斐波那契数列 求第n个数、前n个数之和
- 求最小的前n个数
- 例 5.8 求Fibonacci数列的前40个数。
- c语言柔性数组实现并用其求Fibonacci数列前n项,不足之处请见谅并回复评价
- 用递归求数列的前n列的和
- C语言 前n项斐波那数列,小于一个数的斐波那数列项
- 求Fibonacci数列前40个数
- Codeforces Round #344 (Div. 2) C题数列的前n个数进行m次升降排序
- 主讲spring mvc 在web.xml中的配置
- Appliation Loader上传App 莫名其妙的错误 The CFBundleExecutable of two bundles may not point to the same file.
- C语言实现推箱子小游戏
- google官方的下拉刷新+自定义上拉加载更多
- 会声会影 X8 安装过程中,提示已安装另一个版本
- c语言 之求 Fibionacci 数列的前n个数
- 更改数据到指定格式
- javascript显示动态时间12小时制(二)
- iOS自动布局之Autoresizing
- 统计多个学生的多门课的成绩(结构体)
- LeetCode-5. Longest Palindromic Substring
- hihocoder 1149 : 回文字符序列(区间dp)
- C# DataGridView添加右键菜单等技巧
- 欢迎使用CSDN-markdown编辑器