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

代码解析

相关推荐
EnCi Zheng11 小时前
S10-蓝桥杯 17822 乐乐的积木塔
职场和发展·蓝桥杯
The Chosen One98517 小时前
算法题目分享(二分算法)
算法·职场和发展·蓝桥杯
酉鬼女又兒19 小时前
Leetcode 26.删除有序数组中的重复项 双指针巧解有序数组去重:从快慢指针到原地修改算法的精髓
java·数据结构·算法·leetcode·职场和发展·蓝桥杯·排序算法
糯米团子7496 天前
蓝桥杯javaB组赛前四天复习-1
java·windows·蓝桥杯
CoderYanger8 天前
14届蓝桥杯省赛Java A 组Q1~Q3
java·开发语言·线性代数·算法·职场和发展·蓝桥杯
云泽8089 天前
第十五届蓝桥杯大赛软件赛省赛C/C++大学B组
c语言·c++·算法·蓝桥杯
fysuccess9 天前
Ubuntu 22.04 零基础安装 Hermes 完整入门指南
linux·ubuntu·蓝桥杯
j_xxx404_9 天前
C++算法:哈希表(简介|两数之和|判断是否互为字符重排)
数据结构·c++·算法·leetcode·蓝桥杯·力扣·散列表
门左有棵树11 天前
蓝桥杯C++组算法知识点整理(考前急救)
c++·算法·蓝桥杯
wengqidaifeng11 天前
第十七届蓝桥杯C/C++软件赛B组算法题讲解
c语言·c++·蓝桥杯