求1!+2!+3!+4!+...+20!

6.求$\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;
}

运行截图:

求$\sum\limits_{n=1}^{20}n!$ (即求1!+2!+3!+4!+...+20!)

posted @ 2021-04-22 12:14  张昊59  阅读(771)  评论(0编辑  收藏  举报