给定一个正整数n(n<=100),计算1!+2!+3!+……+n!的和值。
#include <stdio.h>
#include <stdlib.h>
long long g(long long n)
{ long long i,m=1;
for(i=1;i<=n;i++)
m=m*i;
return m; }
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
long long sum=0,n,i;
scanf("%lld",&n);
for(i=1;i<=n;i++)
sum=sum+g(i);
printf("%lld",sum);
return 0; }
我是这样写的,但是这样算不到100!,会出现数据溢出,好像可以用数组,但是我不太清楚思路