冲刺十五届蓝桥杯P0001阶乘求和

文章目录

题目描述

思路分析

阶乘是蓝桥杯中常考的知识。

首先我们需要知道 int 和long的最大值是多少。

我们可以知道19的阶乘就已经超过了long的最大值,所以让我们直接计算202320232023!的阶乘是不现实的。

所以我们需要突破题目的限制,看透问题。

首先需要知道的一点,n!的末尾想要有0,中间一定是需要25的,只有2 5才会出现0,而2的数目应该是远大于5的,所以一般只需要考虑5的个数。

需要注意的是25和125有多个5,不能遗漏;

所以我们可以看题目,需要求解S的末尾九位数字,易知道40的!末尾刚好9个零,40!含有5 10 15 20 25 30 35 40一共有9个零。40!之后末尾九位都是0,所以不用计算。

所以只需要计算1-39的阶乘之和即可,因为19的!就大于long,所以每次计算都需要和mod进行取模操作;

代码解析

相关推荐
红糖生姜2 天前
P12874 [蓝桥杯 2025 国 Python A] 巡逻||题解||图论
c++·蓝桥杯·图论
爱吃生蚝的于勒3 天前
【Linux】零基础学会linux环境基础开发工具使用(yum,vim,makefile,gdb)
linux·服务器·数据结构·c++·蓝桥杯·编辑器·vim
旭意4 天前
C++蓝桥杯之函数与递归
开发语言·c++·蓝桥杯
wuqingshun3141597 天前
蓝桥杯 取球博弈
算法·职场和发展·蓝桥杯
wuqingshun3141597 天前
蓝桥杯 填字母游戏
游戏·职场和发展·蓝桥杯
闻缺陷则喜何志丹10 天前
【C++贪心】P8769 [蓝桥杯 2021 国 C] 巧克力|普及+
c++·算法·蓝桥杯·洛谷
旭意11 天前
C++微基础备战蓝桥杯之数组篇10.1
开发语言·c++·蓝桥杯
旭意12 天前
C++微基础备战蓝桥杯string篇10.5
开发语言·c++·蓝桥杯
Kent_J_Truman14 天前
【第几小 / 分块】
算法·蓝桥杯
闻缺陷则喜何志丹15 天前
【贪心之临项交换】P8732 [蓝桥杯 2020 国 ABC]|普及
c++·算法·蓝桥杯·贪心·洛谷