C++用递归求前n项阶乘的和

求前n项阶乘的和。

#include<iostream>
using namespace std;

//求某项阶乘的值  5!=1*2*3*4*5
int fun(int i)
{
	if(1==i)
		return 1;
	return fun(i-1)*i;
}
//求前n项阶乘的和	s(x)=f(1)+f(2)+...f(x)
int fun2(int i)
{
	if(1==i)
		return 1;
	return fun2(i-1)+i;
}

/*
//求前n项阶乘的和	s(x)=f(1)+f(2)+...f(x)
int fun2(int i)
{
	if(1==i)
		return 1;
	return fun2(i-1)+fun(i);
}
*/

int fun3(int i)
{
	return fun(i)+fun2(i);
}

int main()
{
	cout<<fun(5)<<endl;				//
	cout<<fun2(5)<<endl;			//
	cout<<fun3(5)<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/superman___007/article/details/80637105