求斐波那契数

来源:互联网 发布:淘宝前端属于ucd 编辑:程序博客网 时间:2024/06/05 00:53
求斐波那契数:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

n<=39 

思路:使用递归或者循环实现,使用递归有一个缺点,就是当n非常大时,函数调用次数巨大,速度极慢。

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>////int Fibonacci(int n)//递归方法//{//if(n==0)//return 0;//if(n==1)//return 1;//return Fibonacci(n-1)+Fibonacci(n-2); ////}int Fibonacci(const int n){int arr[2] = {0,1};//斐波那契数后一项是前两项的和,故把其前两项存在数组中int i = 0;if(n<=0)  {return -1;}if(n==1){return arr[0];}for(i=0; i<n-2; i++){int temp = arr[1];arr[1] = arr[0]+arr[1];arr[0] = temp;}return arr[1];}int main(){int n = 0;printf("你想得到第几项斐波那契数:");scanf("%d",&n);printf("第%d项是:%d\n",n,Fibonacci(n));return 0;}

结果展示:


0 0
原创粉丝点击