当前位置: 首页 > news >正文

阶乘后的零[LeetCode-172]

题目描述

思路分析

10进制数结尾的每一个0都表示有一个因数10存在,任何进制都一样,对于一个M进制的数,让结尾多一个0就等价于乘以M。 10可以分解为2 × 5——因此只有质数2和5相乘能产生0,别的任何两个质数相乘都不能产生0,而且2,5相乘只产生一个0。 所以,分解后的整个因数式中有多少对(2,5),结果中就有多少个0,而分解的结果中,2的个数显然是多于5的,因此,有多少个5,就有多少个(2, 5)对。
所以,讨论一个数的阶乘结尾有几个0的问题,就被转换成了1到n所有这些数的质因数分解式有多少个5的问题。

由特殊推广到一般的论证过程可得:
1、 每隔5个,会产生一个0,比如 5, 10 ,15,20 ...
2 、每隔 5×5 个会多产生出一个0,比如 25,50,75,100。 因为25、50这种是由“5乘以5乘以x”得到的,因此直接有2个5,所以多了一个,下面同理。
3 、每隔 5×5×5 会又多出一个0,比如125,250...

所以100!末尾有多少个零为:100/5+100/25=20+4=24
那么1000!末尾有多少个零呢?同理得: 1000/5+1000/25+1000/125=200+40+8=248

代码实现

class Solution {
public:
    int trailingZeroes(int n) {
        int ret =0;
        while(n)
        {
            ret += n/5;
            n /= 5;
        }
        return ret;
    }
};
复制代码

相关文章:

  • 理解WebKit和Chromium: Android 4.4 上的Chromium WebView
  • springboot 统一异常处理(包含统一数据校验)
  • JavaSE-note1-随机访问类RandomAccessFile
  • git进阶之.gitignore 和 .gitmodules
  • jquery 延迟加载代码
  • WingMoney APP逆向,实现自动话费充值
  • ListView滚动到底部判断
  • 架构进阶笔记—如何阅读一个开源项目的源码?
  • 模块化JavaScript设计模式(一)
  • 码出高效JAVA开发手册(这个应该人手一份)
  • Web前端实践经验总结
  • GitHub(hexo)博客页面访问量错误以及中文乱码解决
  • POJ 3270 置换群问题
  • Amazon Aurora是如何设计原生云关系型数据库的?
  • mysql DEPENDENT SUBQUERY(转载)
  • [LeetCode] Wiggle Sort
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Angular4 模板式表单用法以及验证
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • css属性的继承、初识值、计算值、当前值、应用值
  • Docker入门(二) - Dockerfile
  • express如何解决request entity too large问题
  • Golang-长连接-状态推送
  • JavaWeb(学习笔记二)
  • v-if和v-for连用出现的问题
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 模型微调
  • 排序算法学习笔记
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 学习HTTP相关知识笔记
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #HarmonyOS:基础语法
  • #Spring-boot高级
  • (1)(1.13) SiK无线电高级配置(六)
  • (1)虚拟机的安装与使用,linux系统安装
  • (4)STL算法之比较
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (二)斐波那契Fabonacci函数
  • (二十四)Flask之flask-session组件
  • (论文阅读11/100)Fast R-CNN
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转载)利用webkit抓取动态网页和链接
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .Net 路由处理厉害了
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET企业级应用架构设计系列之技术选型