递归算法之斐波那契数列的求项与求和算法

本文主要实现的算法是用递归实现斐波那契数列的求第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;
}

 

    原文作者:递归算法
    原文地址: https://blog.csdn.net/AngelLover2017/article/details/70483854
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞