这个代码就是计算n的阶乘之和,我想算法应该没有问题,因为我试了几个数都对了。重点是,重点是,这个阶乘和中的n要大于等于1,小于等于20,所以我就不知道怎么处理了,计算从1到20的阶乘之和,结果就会出现怪怪的乱七八糟的数。。。哎,求解答
#include<stdio.h>
int main(void)
{
int n,i,j,a;
long double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a=1;
for(j=i;j>=1;j--)
a=a*j;
sum=sum+a;
}
printf("%Ld",sum);
}