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

文章目录

    • 题目描述
    • 思路分析
    • 代码解析

题目描述

在这里插入图片描述

思路分析

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

首先我们需要知道 int 和long的最大值是多少。
在这里插入图片描述
我们可以知道19的阶乘就已经超过了long的最大值,所以让我们直接计算202320232023!的阶乘是不现实的。

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

首先需要知道的一点,n!的末尾想要有0,中间一定是需要25的,只有25才会出现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进行取模操作;

代码解析

在这里插入图片描述文章来源地址https://www.uudwc.com/A/vmWjn/

原文地址:https://blog.csdn.net/ngczx/article/details/133304092

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年10月06日 14:13
下一篇 2023年10月06日 15:13