C++ 用递归法求1到20的阶乘之和

用递归法求1到20的阶乘之和 希望具体点啊 谢谢啊

#include <stdio.h>
long fac(int n)//求n!阶乘的递归算法
{
long f;
if(n==0||n==1)f=1;
else f=fac(n-1)*n;
return f;
}
int main(){
long sum;
sum=0;
int i;
for(i=1;i<=20;i++)
sum+=fac(i);
printf("The result is %ld . ",sum);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-15
n!=n*(n-1)!
main()
{int i;<br/>long s=1;<br/>for(i=1;i<=20;i++)<br/>s=s*i;<br/>printf("%ld",s);}
第2个回答  2013-07-15
#include<iostream.h>
main()
{
int i;int j=0;int k=0;int n;int m=1;
cin>>n;
for(i=1;i<=n;i++)
{
for(j=1,m=1;j<=i;j++)
{
m=m*j;
}
k=k+m;
}
cout<<k<<endl;
}