求∑n=120n! (即求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;
}

运行截图:

求∑n=120n! (即求1!+2!+3!+4!+...+20!)

posted @ 2020-09-08 10:40  张震新  阅读(1120)  评论(0编辑  收藏  举报