第4题:简单斐波那契
来源:互联网 发布:网络打赏 人民日报 编辑:程序博客网 时间:2024/04/26 12:28
斐波那契数列是一种非常有意思的数列,由 0 和 1 开始,之后的斐波那契系数就由之前的两数相加。用数学公式定义斐波那契数列则可以看成如下形式:
F0=0
F1=1
Fn=Fn-1+Fn-2
我们约定Fn表示斐波那契数列的第n项,你能知道斐波那契数列中的任何一项吗?
输入包括一行,包括一个数字N(0≤N≤50)。
输出包括一行,包括一个数字,为斐波那契数列的第N项的值。
样例输入
7
样例输出
13
看到通项公式可能第一想法就是调用递归函数了。的确,运用递归的算法简洁明了。首先给出递归的算法:
#include<stdio.h>
int Fibonacci(int n);
int main(void){
int n, res;
scanf("%d", &n);
if(n <= 0 || n > 50)
return 0;
res = Fibonacci(n-1);
printf("%d", res);
return 0;
}
int Fibonacci(int n) {
int sum = 0;
if (n == 0 || n == 1)
return 1;
else
sum = Fibonacci(n-1) + Fibonacci(n-2);
return sum;
}
但是,由于递归是比较耗资源的,所以尽可能用非递归算法来实现,代码如下:
#include<stdio.h>
int main(void){
int n, i;
int a[51];
a[0] = a[1] = 1;
scanf("%d", &n);
if(n <= 0 || n > 50)
return 0;
for(i = 2; i < n; i++)
a[i] = a[i-1]+a[i-2];
printf("%d", a[n-1]);
return 0;
}
- 第4题:简单斐波那契
- 计蒜客 第4题:简单斐波那契
- 计蒜客 挑战难题 第4题:简单斐波那契
- 简单斐波那契
- 简单斐波那契
- 简单斐波那契
- 简单斐波那契
- 简单斐波那契
- 斐波那契第k项
- 【计蒜客简单题】斐波那契数列
- 【计蒜客系列】挑战难题4:简单斐波那契
- 简单斐波那契(递归)
- 计蒜客004-简单斐波那契
- 简单斐波那契数列
- 简单斐波那契数列
- Python 简单斐波那契数列
- 计蒜客之简单斐波那契
- Java - 计蒜客 - 简单斐波那契
- 编辑框(EditText)介绍与应用
- 创建表空间+用户+权限
- 粒子系统三种方法
- 设计模式系列1--工厂模式
- HTC Incredible S S710E刷机指南
- 第4题:简单斐波那契
- 互联网,马云,刘强东
- 【实验四】字符串和多维数组
- 【设计模式】面向对象小结——重写与重载
- git删除目录下的所有文件并提交
- MyEclipse rest webservice 使用
- EXT 鼠标置于GridPanel某一行上显示提示tip消息
- nxweb(1)
- 《开始学Backbone.js》之第三章Backbone Models与Collections(六)