您的位置:首页 > 其它

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

2017-09-07 20:16 218 查看
斐波那契数列: 形如 

1     2     3     5      8      13      21 ............

一、递归求解

#include <stdio.h>
#include <stdlib.h>
int Fibonacci(int n)
{
int a = 1;
int b = 2;
if (n == 1)
{
return a;
}
else if (n == 2)
{
return b;
}
else
{
return  Fibonacci(n - 2) + Fibonacci(n - 1);
}
}

int main()
{
int n = 0;
int ret = 0;
scanf("%d", &n);

ret = Fibonacci(n);
printf("%d\n", ret);
system("pause");
return 0;
}


二、非递归方法求解

#include <stdio.h>
#include <stdlib.h>

int fibonacci(int n)
{
int a = 1;
int b = 2;
int c = 0;
if (n == 1 || n == 2)
{
return n;
}
else
{
while (n > 2)
{
c = a + b;
a = b;
b = c;
n--;
}
return c;
}
}
int main()
{
int n = 0;
int ret = 0;
scanf("%d", &n);
ret = fibonacci(n);
printf("%d\n", ret);

system("pause");
return 0;
}


欢迎各位批评指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: