20的阶乘要开到long double诶...
#include <stdio.h>
long double fac(int x)
{
long double k = 1;
int i;
for(i=1; i<=x; i++)
{
k *= i;
}
return k;
}
int main()
{
int n, i;
long double sum = 0;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
sum += fac(i);
}
printf("%.0Lf\n", sum);
return 0;
}