C语言入门——求1到n阶乘之和(1≤n≤20)

一、问题

Problem Description

求1到n的阶乘之和

Input

输入一个正整数n (1 ≤ n ≤ 20)

Output

输出一个数,表示1到n的阶乘之和

Sample Input

10

Sample Output

4037913

二、分析

既然是求阶乘之和的,那么可以得到

核心突破点有:阶乘 求和

1️⃣阶乘部分

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

具体的大家可以看一下个人所写的这篇文章

C语言入门—求n的阶乘

2️⃣求和部分

借助循环进行实现,求和部分就是那前一项的阶乘加后一项阶乘,依次加直到循环结束。

关于这道题还需要注意的是数据范围,数据类型的范围如果过小会出现溢出的情况(题目中要求最大能实现到1到20的阶乘之和,因此需要选择合适的数据类型)。

int,long(long int),long long(long long int)的数据范围如下:

int -2147483648~2147483647
long -2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808

在了解了上述部分之后,就可以用代码实现了,如果你觉得自己可以实现了,那么可以先尝试以下,再看下面代码进行检查,

三、实现

#include <stdio.h>int main()
{int n, i;long long fact = 1, sum = 0;scanf("%d", &n);//借助for循环实现阶乘求和for (i = 1; i <= n; i++) {fact *= i;sum += fact;}printf("%lld\n", sum);return 0;
}

测试样例:10

10
4037913--------------------------------
Process exited after 0.8705 seconds with return value 0
请按任意键继续. . .

关于1-20阶乘之和的问题先说的这里,希望这篇文章能对你有所帮助!


作者:code_流苏(CSDN)
喜欢的话,关注一下,点个赞吧!
欢迎评论交流,如有错误,还请指正!

C语言入门——求1到n阶乘之和(1≤n≤20)相关推荐

  1. 程序求1!+2!+3!+...+1000!的和, 求1到1000阶乘之和

    求1到1000阶乘之和 今天在脉脉的匿名区看到一个这个面试题,有个面试官说面试者连这道题都不会写,我想了几分钟就能解出来,把代码写下来.写得有点繁琐了~~~,有高手可以指导更简单的方法了么... 求一 ...

  2. 如何用js求1~n的阶乘之和

    求1~n的阶乘之和的重点在于如何求每个数的阶乘,只要求出阶乘,再让其累加就行了.求阶乘一般可以用循环或递归函数,所以这里先讲解如何求阶乘. 1. 利用循环求阶乘 代码如下: var n=Number( ...

  3. java中1到5的阶乘代码_java技术支持 求1~5的阶乘之和

    /* * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:求1~5的阶乘 ...

  4. python练习4:求1到5阶乘之和

    求1到5阶乘之和 阶乘: 1的阶乘1!=1 2的阶乘2!=1*2 3的阶乘3!=1*2*3 ... 使用for循环来求1~5的阶乘之和 a = 1                            ...

  5. python脚本4_求1到5阶乘之和

    #求1到5阶乘之和 # a = 1 sum = 0 for i in range(1,6):a = i*asum = sum+a print(sum) 转载于:https://www.cnblogs. ...

  6. 2、求100以内的素数之和。(20分)

    题目: /* 2.求100以内的素数之和.(20分) */ 代码: public class Two207 {public static void main(String[] args) {int s ...

  7. 【C语言】求一个数的阶乘

    #include <stdio.h> //包含标准库的信息int main(void) //每个程序都从main函数的起点开始执行 { //函数开始int p = 1;int n;prin ...

  8. 如何用Python编写一个求 1到n阶乘之和的程序

    各位许久不见了,甚是想念! 前段时间我进入高中阶段学习,一直还没有适应,现在好些了就继续写博客了. 看到很多人关注我,点赞或是评论,我感觉太高兴了! C语言这块我暂时先放下了,我想自己学学Python ...

  9. 使用C语言循环语句计算1-10的阶乘之和

    计算1-10的阶乘之和 定义变量mul为一个数值的阶乘: 定义变量sum为阶乘之和. #include<stdio.h>int main() {int a;int b;int mul;in ...

最新文章

  1. AndroidToast问题深度剖析(一)
  2. 超酷的Android 侧滑(双向滑动菜单)效果
  3. CentOS 6.9下OpenLDAP 的安装与配置
  4. Andoird --- 安卓 failed to connect to /192.168.0.135 (port 8080) after 1000ms
  5. react封装函数_GitHub - daifee/react-component: 用 React 封装一套常用组件
  6. [SDN] mininet walkthrough
  7. 利用U盘安装windows 7
  8. Task/Parallel实现异步多线程
  9. 第 3 讲 三维空间刚体运动
  10. ThreadLocal是什么?ThreadLocal的原理分析
  11. Win7 网络连接正常 无法上网
  12. 斯坦福NLP名课带学详解 | CS224n 第1讲 - NLP介绍与词向量初步(NLP通关指南·完结)
  13. selenium进行网页长截图,模块长截图
  14. 华为又要给员工分红了!预计每股 1.61 元,网友:点赞任正非
  15. 简单了解latex输出矩阵
  16. 计算机专业大学排名评估,2020全国计算机专业大学排名
  17. KPI考核系统实战之一:环境搭建
  18. 手势识别(一) - 项目概述与简单应用介绍
  19. 适合三本计算机专业考研的学校,适合三本考研的学校有哪些
  20. JPG合成PDF在线网站免费合并

热门文章

  1. php.ini中文版
  2. Emit基本概念介绍
  3. 关于检测数字人脸操纵
  4. 安装SqlServer2008时,出现:此计算机上安装了Microsoftstudio2008早期版本解决办法
  5. 异常JasperException
  6. 水平拉滑轮组计算机械效率的题,滑轮组机械效率计算题.doc
  7. AD16/17创建LM358元件符号
  8. Prometheus监控主机的配置
  9. 让linux下的vim和vim显示颜色
  10. MQTT Apollo 搭建 + 上传云