编程求1+2!+3!+……+20!

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:25:53

#include"stdio.h"
int func(int n){
if(n==1||n==0)return 1;
else return n*func(n-1);

}
void main(){
int n=20,i,sum=0;

for(i=1;i<=n;i++)
sum+=func(i);
printf("%d ",sum);
}

/*递归方法*/
输入20即可

#include "stdio.h"
long f(int n)
{ long s;
if(n<=1)
s=1;
else
s=s+n*f(n-1);
return s;
}

void main()
{int num;
scanf("%d",&num);
printf("%d",f(num));
getch();
}

用一个for循环就可以了,编译通过,输出结果:268040729
代码如下:

#include <stdio.h>
main()
{
int n=1,i;
long sum=0;
for(i=1;i<=20;i++)
{
n=n*i;
sum=sum+n;
}
printf("%ld\n",sum);
}

#include <stdio.h>

main()
{
int i=1;
__int64 A[21],sum=0;
A[1]=1;
for