📅  最后修改于: 2023-12-03 15:11:31.588000             🧑  作者: Mango
斐波那契数列(Fibonacci sequence)是指这样一个数列:0、1、1、2、3、5、8、13、21、34、…… 即第一项为0,第二项为1,从第三项开始,每一项为前两项之和。
本文将介绍C++编写的程序,能够计算斐波那契数列中第n个数的值。
程序的思路很简单,就是利用递归方法实现,因为斐波那契数列的每一项都是前两项之和,所以递归方法就可以很好地实现这个功能。
递归函数的代码如下:
int fibonacci(int n) //递归函数
{
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
下面是完整代码,其中主函数输入n,调用递归函数计算第n个斐波那契数的值:
#include<iostream>
using namespace std;
int fibonacci(int n) //递归函数
{
if(n == 0)
return 0;
else if(n == 1)
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
int n;
cout<<"请输入需要计算的斐波那契数的项数:";
cin>>n;
cout<<"第"<<n<<"个斐波那契数的值是:"<<fibonacci(n)<<endl;
return 0;
}
将上述代码复制到C++编辑器中,进行编译运行,在控制台中输入需要计算的斐波那契数的项数n,程序即可输出第n个斐波那契数的值。
示例:
请输入需要计算的斐波那契数的项数:10
第10个斐波那契数的值是:55
由于递归方法会重复计算很多相同的值,所以当需要计算较大的斐波那契数时,程序的执行效率会比较低。可以考虑使用循环或其他优化方法来提高效率。
无。