斐波那契数列
斐波那契数列 :又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
斐波那契数列特点:第一、第二个数为1,从第三个数开始,该值等于其前面两个数之和。
下面,我用两种方法来求解斐波那契数列。
第一种方法:
//斐波那契数列--递归法
#include <stdio.h>
#include <stdlib.h>
int f(int x)
{
if (x == 1)
return 1;
if (x == 2)
return 1;
return f(x-2) + f(x - 1);
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("%d", f(n));
system("pause");
return 0;
}
第二种方法:
//斐波那契数--非递归
#include <stdio.h>
#include <stdlib.h>
int f(int x)
{
int a = 1;
int b = 1;
int fn = 0;
for (int i = 2; i < x; i++)
{
fn = a + b;
a = b;
b = fn;
}
return fn;
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("%d", f(n));
system("pause");
return 0;
}