求\(\sum\limits_{n=1}^{20}n!\) (即求1!+2!+3!+4!+...+20!)
答案解析:
該題需要從1循環到20,依次求出每一個數字階乘的結果。所以在代碼當中需要有兩個循環,大循環從1到20,保證1到20個數字都被循環到,小循環里計算N階乘,累加求和。注意:對於20的階乘已經超出了int
類型能過表示的數字范圍,所以在代碼當中使用double
類型
代碼示例:
#include<stdio.h>
int main()
{
double total_sum = 0;
for(int i = 1; i <= 20; i++)
{
double single_sum = 1;
for (int j = i; j > 0; j--)
{
single_sum *= j;
}
total_sum += single_sum;
}
printf("1~20每個數字階乘總和為:%lf\n",total_sum);
return 0;
}