/**************************************************************
50!很大了,直接用整数类型茄饥会超过范围,所以简单地做只能用double型
的变量,算近似颤则返值。如果要算准确值,可以用数组存下整数的各个数位,
模拟手算。
下面只给出求近似值的简单盯樱方法。
**************************************************************/
#include
int main()
{
int i;
double fac = 1.0, sum = 0.0;
for (i = 1; i <= 50; ++i) {
fac *= i;
sum += fac;
}
printf("1! + 2! + ... + 50! = %g\n", sum);
return 0;
}