求n=1 20 n!(即求1!+2!+3!+4!+...+20!)
求\(\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;
}
运行截图:
关注公众号 牛顿顿的星空 在里面回复 谭浩强答案,获取完整版答案,有问题也可以公众号后台私信我