斐波那契数列求第n个数

本文介绍了如何使用递归和非递归方式计算斐波那契数列的第N个数,包括递归函数的实现和通过变量迭代的方法,旨在帮助理解和掌握这两种求解策略。
摘要由CSDN通过智能技术生成

斐波那契数列求第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我的主页还有其他文章,欢迎学习指点。关注我,让我们一起学习,一起进步吧!
道阻且长,行则将至;行而不辍,未来可期!
这句话的意思是:道路险阻而又漫长,但是走的话就会到达目的地;如果可以坚持不懈,那么美好的未来就值得期待。
请记住今天的你也要格外努力,格外开心哦!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值