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

代码解析

相关推荐
此生决int2 天前
算法从入门到精通——前缀和
c++·算法·蓝桥杯
2301_800895103 天前
第九届蓝桥杯国赛b组--备战国赛版h
蓝桥杯
WL_Aurora4 天前
备战蓝桥杯国赛【Day 18】
python·算法·蓝桥杯
210Brian4 天前
蓝桥杯单片机学习笔记(十二):V2026 大模板构建(上)
单片机·学习·蓝桥杯
WL_Aurora5 天前
备战蓝桥杯国赛【Day 17】
算法·蓝桥杯
此生决int6 天前
算法从入门到精通——滑动窗口
c++·算法·蓝桥杯
WL_Aurora6 天前
备战蓝桥杯国赛【Day 16】
python·蓝桥杯
奔跑的Ma~6 天前
第6篇:蓝桥杯C++进阶突破(难题拆解+算法优化,冲刺国赛高奖)
c++·算法·蓝桥杯·#蓝桥杯备战·#c++编程·编程竞赛
x_yeyue6 天前
2026第十七届蓝桥杯c++B组省赛题解
笔记·算法·蓝桥杯·acm·题解
handler016 天前
【C++ 算法竞赛基础】数论篇:核心公式、经典例题与高频模板
开发语言·c++·算法·蓝桥杯·数论·最大公约数·最小公倍数