斐波那契数列是什么
斐波那契数列是指第一第二项的值为1,从第三项开始,后一项的值为前两项值的和。
下面这个数列即为斐波那契数列:
1,1,2,3,5,8,13,21,34,55......
第一种方法
int Fib(int n)
{
int a = 1, b = 1;//a,b为第一项和第二项
int c = 1;//c为第三项
//定义c为1 是因为 函数返回值为c 如果所求第n项小于3时,结果为1 直接返回c 不用重新定义
while(n > 2)//小于2时 不用进入循环 因为前两项都是1
{
c = a + b;
a = b;
b = c;
n--;//给循环定条件 防止进入死循环
}
return c;
}
int main()
{
int n = 0;
scanf("%d", &n);//n为要求的斐波那契数列第n项
int ret = Fib(n);//Fib()为定义的斐波那契函数
printf("%d", ret);
return 0;
}
输入8 结果为21
第二种方法
int Fib(int n)
{
if (n <= 2)//以第三项为分界
return 1;
else
return Fib(n - 1) + Fib(n - 2);//返回前两项的和
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = Fib(n);
printf("%d", ret);
return 0;
}
当输入9 输出 34