【题目描述】
用递归函数输出斐波那契数列第n项。0,1,1,2,3,5,8,13……
【输入】
一个正整数n,表示第n项。
【输出】
第n项是多少。
————————————————————————————————
分析:
斐波那契数列,即第n个数的前两个数相加之和所排列出的数列;
除第一项为0,第二项为1。
从第三项开始d(3)=d(3-2)+d(3-1)=0+1=1
从第四项开始d(4)=d(4-2)+d(4-1)=1+1=2
......
从规律可得关系式:d(n)=d(n-2)+d(n-1)
___________________________________________________________
#include<iostream>
#include<cstdio>
using namespace std;
int d(int n)
{
if(n==1)
{
return 0;
}
else if(n==2)
{
return 1;
}//除n=1和n=2是不同情况
else
{
return d(n-2)+d(n-1);//关系式
}
}
int main()
{
int x;
cin>>x;
cout<<d(x);//输出
return 0;
}
(说要详细的改的)
————————————————
版权声明:本文为CSDN博主「Lucifer_Selina」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Lucifer_Selina/article/details/121730552