冲刺十五届蓝桥杯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进行取模操作;

代码解析

相关推荐
谁刺我心17 小时前
【蓝桥杯刷题环境】VScode插件算法刷题Competitive Companion
职场和发展·蓝桥杯
代码无bug抓狂人2 天前
C语言之李白打酒(蓝桥杯省B)
c语言·开发语言·蓝桥杯
XH华3 天前
备战蓝桥杯,第六章:C++语言的输入输出(下)
c++·职场和发展·蓝桥杯
季明洵3 天前
两数之和、四数相加II、三数之和、四数之和
java·数据结构·算法·leetcode·蓝桥杯·哈希算法
代码无bug抓狂人3 天前
C语言之宝石组合(蓝桥杯省B)
c语言·开发语言·蓝桥杯
XH华3 天前
备战蓝桥杯,第五章:string字符串
c++·职场和发展·蓝桥杯
代码无bug抓狂人4 天前
(蓝桥杯省B)R格式
c语言·蓝桥杯
llz_1125 天前
16届蓝桥杯B组 C++题解
c++·算法·蓝桥杯
XH华5 天前
备战蓝桥杯,第四章:数组
职场和发展·蓝桥杯
养军博客5 天前
C语言五天算法速成(可用于备考蓝桥杯)
c语言·算法·蓝桥杯