斐波那契数列求第n个数:
斐波那契数列:(定义)
1,1,2,3,5,8,13,21,34,55,89…… ,以如下被以递归的方法定义:从第三项开始,每一项都等于前两项之和,显然这是一个线性递推数列。
问题分析、及解决办法
2.斐波那契数列的结构分析:此数列是从第三项开始每个数等于前两个数的和,而第一个数和第二个数等于一,依次相加可以得到规律求出第N个数是多少,可以用递归函数来解决。或者可以定义三个变量,a,b,c然后把c值赋值给b,把b原来的值赋值给a,这样最后返回c的值即可。
代码实现(1.递归函数)
#include<stdio.h>
int Fbi(int n)
{
if(n<=2)
return 1;
else
return Fbi(n-2)+Fbi(n-1);
}
int main()
{
int n=0;
scanf("%d",&n);
int ret=Fbi(n);
printf("%d",ret);
return 0;
}
(2.用相互赋值的方式实现)
#include<stdio.h>
int Fbi(int n)
{
int a,b,c;
a=1,b=1,c=1;//只有当n>=3才会进入循环,所以C的初始值要为1才可以确保N=1,2时的值为1
while(n>=3)
{
c=a+b;
a=b;
b=c;
n--;
}
}
int main()
{
int n=0;
scanf("%d",&n);
int ret=Fbi(n);
printf("%d",ret);
return 0;
}
以上就是关于求第N个斐波那契数列的两种解法,如果对你有帮助,记得点赞+关注哦!\n我的主页还有其他文章,欢迎学习指点。关注我,让我们一起学习,一起进步吧!
道阻且长,行则将至;行而不辍,未来可期!
这句话的意思是:道路险阻而又漫长,但是走的话就会到达目的地;如果可以坚持不懈,那么美好的未来就值得期待。
请记住今天的你也要格外努力,格外开心哦!