大家能帮我看一下这个递归吗
// 1!+2!+3!+n!.cpp : 定义控制台应用程序的入口点。//
#include"stdio.h"
#include"iostream"
using namespace std;
#define n 4
long factorial(long x)
{
if (x == 0) return 1;
else return x*factorial(x - 1) ;
}
int main()
{
long a;
a=factorial(n);
cout << n<<"的阶乘为"<<a<<endl;
}
/*
int _tmain(int argc, _TCHAR* argv[])
{
int sum2 = 0;
for (int i = 1; i <=n; i++)
{
int sum = 1;
for (int j = 1; j <= i; j++)
{
sum = sum*j;
}
sum2 = sum2 + sum;
}
cout << sum2;
return 0;
}
*/
第一个是一求n!
第二个求 1!+2!+3!+....n!
请问各位可不可以用递归实现第二个? 递归是不是都很短啊?