方法一:
因为3! = 2! * 3;4! = 3! * 4;5! = 4! * 5;…
所以我们在求10的阶乘之和时可以直接使用一个数的阶乘ret *=(ret+1);
然后在相加求和sum += ret;
int main()
{
int i = 0;
int ret = 1;
int sum = 0;
for (i = 1; i <= 10; i++)
{
ret *= i;
sum += ret;
}
printf("%d\n", sum);
return 0;
}
方法二:
先求出各个数的阶乘,然后相加。(两个嵌套的for循环)
int main()
{
int i = 0;
int ret = 0;
int sum = 0;
for (i = 1; i <= 10; i++)
{
int j = 0;
int ret = 1;
for (j = 1; j <= i; j++)
{
ret *= j;
}
sum += ret;
}
printf("%d\n", sum);
return 0;
}