本文主要实现的算法是用递归实现斐波那契数列的求第n项的值,以及求前n项的和。
#include <iostream>
using namespace std;
/*Function_one求斐波那契数列第n项的值*/
int Function_one(int n){
int numer; //定义numer记录当前的值
if(n==1)return numer=1; //递归结束出口,n=1时返回1
else if(n==2)return numer=1; //递归结束出口,n=2时返回1
else {
numer=Function_one(n-1)+Function_one(n-2);//递归调用,当前的值等于前两项的值相加
}
return numer;
}
/*Function_two求菲波那切数列前n项的和*/
int Function_two(int n){
int sum=0; //定义sum记录和式的值
if(n==0)return 0; //递归结束出口,n=0时返回0
else {
sum=Function_one(n)+Function_two(n-1);//Function_one(n) 调用Function_one函数计算
} //第n项的值,Function_two(n-1)递归调用
return sum;
}
int main()
{
int n;
int numer;
int sumer;
cin>>n;
numer=Function_one(n);
sumer=Function_two(n);
cout<<numer<<endl<<sumer;
return 0;
}