(c语言1)阶乘求和

news/2025/2/26 4:48:56

输入格式

求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。

输入格式

n

输出格式

Sn的值

样例输入

5

样例输出

153

题解

然后直接先上题解

#include<stdio.h>
int main()
{
    int n,a=1;
    long long sum=0,m=1; //为这是阶乘求和,一般的int 类型可能就不够,因此我们利用long long int 类型
    scanf("%d",&n); //输入需要乘到多少的阶乘
    for(a=1;a<=n;a++) //利用循环加1
    {
        m=a*m;  //一个循环利用上一个阶乘的结果加1直接乘
        sum=sum+m; //阶乘求和
    }
    printf("%lld",sum); //输出和
	return 0;
}

分析

前面的int一般就是拿来控制循环的,定量n就是为了scanf的输入。

我们先来讲一下这个循环,

for(a=1;a<=n;a++)
    {
        m=a*m;
        sum=sum+m;
    }

我们一开始已经定义了a的值和输出了n的值

这个循环就是为了让它m的值可以一直乘(a++),就可以达到阶乘的效果。 

sum也在循环里,因此每循环一次就可以实现加上上一个数的和

直到a与n的值相同,就刚好实现阶乘总和后退出循环

前面之所以使用 

long long sum=0,m=1;

是因为我相信很多童鞋一开始也是想使用简单的用“%d"来输出sum

但是结果是

 很显然哈,前面的测试点能过,而后面的过不了,很多童鞋就大概就猜到是后面的输出有问题。

突然想到n如果等于20,那这个值肯定非常大

long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808

所以我一开始就只把sum用 long long 来定义

但是结果如上,还是相同的报错,又看到有个m,自然m的值肯定也是相当大的

所以 sum 和 m 我都用了 long long 来定义

最后这个输出

printf("%lld",sum);

注意哈,用了 long long 来定义,这个输出的”%lld",里面不是数字11哈,是L的小写。


http://www.niftyadmin.cn/n/309876.html

相关文章

SeaweedFS学习笔记:Volume 管理

在一个大型的集群中&#xff0c;增加/下线/替换Volume服务器都是很常见的操作。这些操作会带来volume副本的丢失&#xff0c;或者Volume副本数量的不平衡。 1. 修复丢失的Volume 当某个Volume server挂掉时&#xff0c;其中的volume副本丢失&#xff0c;其他在线的Volume副本…

STM32的功耗模式

按功耗由高到低排列&#xff0c; STM32 具有运行、睡眠、停止和待机四种工作模式。 低功耗各模式下芯片工作情况&#xff1a; 睡眠模式&#xff1a;仅关闭了内核时钟&#xff0c;内核停止运行&#xff0c;但其片上外设&#xff0c; CM4 核心的外设全都还照常 运行。有两种方式…

6 进程的环境

6.1 main函数 C程序总是从main函数开始执行。main函数的原型是&#xff1a; int main(int argc, char *argv[]) 6.2 进程终止 有五种方式使进程终止&#xff1a; &#xff08;1&#xff09;正常终止&#xff1a; &#xff08;a&#xff09;从main返回。 &#xff08;b&…

3.国内外数据分析和人工智能公司主要从事业务简介:方向涉及(数据整合分析、数据挖掘、机器学习、NLP、知识图谱等技术进而发现隐藏的模式和关系)

1.国外数据分析和人工智能公司 1.1 Palantir Palantir是一家美国的数据分析和人工智能公司,成立于2003年,总部位于加利福尼亚州帕罗奥多市。Palantir的主要业务是提供数据分析和人工智能技术解决方案,帮助客户在复杂的数据环境中发现和分析数据,从而做出更明智的决策。 P…

AMB300系列母线槽红外测温解决方案南沙XX养殖项目案例分享

安科瑞 耿敏花 一、 行业背景 随着当今社会的发展和用电量的急剧上升&#xff0c;现代化工程设施和装备的涌现&#xff0c;封闭式母线即母线槽因方便、节能、载流量大、机械强度高 、安装灵活、寿命长等特点&#xff0c;逐渐取代传统电缆&#xff0c;广泛应用于室内变压…

第五十五章 Unity 视频播放

使用视频播放器组件(Video Player)可将视频文件附加到游戏对象&#xff0c;然后在运行时在游戏对象的纹理上播放。首先&#xff0c;我们需要了解视频文件。视频文件的典型文件扩展名包括 .mp4、.mov、.webm 和 .wmv。可将许多不同的视频文件格式导入 Unity 中。Unity 将导入的视…

卷积神经网络(CNN):基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。随着小卫星星座的普及&#xff0c;对地观测已具备多次以上的全球覆盖…

scratch绘制直尺 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch绘制直尺 一、题目要求 1、准备工作 2、功能实现 二、案例分析