
leetcode题解172-阶乘后的零
初始化一个计数器count为0 初始化一个变量divisor为5 进入一个循环,当divisor小于等于n时: a. 计算n除以divisor的结果并取整数部分,得到一个数 b. 将这个数加到count上 c. 将divisor乘以5,进入下一个循环 循环结束后,返回count的值
发布日期:2025-04-05 05:15:59
浏览次数:7
分类:精选文章
本文共 630 字,大约阅读时间需要 2 分钟。
如何计算整数n的阶乘末尾零的数量
计算整数n的阶乘末尾零的数量可以通过分析阶乘中因数5的数量来实现。每对因数2和5会生成一个末尾的零,而因为阶乘中的因数2总是比因数5多,因此可以通过计算因数5的数量来确定末尾零的多少。
步骤如下:
代码实现:
function trailingZeroes($n) { $count = 0; $divisor = 5; while ($divisor <= $n) { $temp = intval($n / $divisor); $count += $temp; $divisor *= 5; } return $count;}
例如,输入为5时,步骤如下:
- 计算5 /5 =1,加到count得到1。
- 然后divisor变为25,25≤5不成立,退出循环。
- 返回count=1。
再看n=3:
- 3/5=0,所以count=0,循环后divisor=5,依旧为5>3不成立。
- 返回count=0。
这样的方法时间复杂度为O(log n),非常高效。
发表评论
最新留言
很好
[***.229.124.182]2025年05月06日 13时54分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Laravel5.5集成极光推送_解决推送失败重推问题
2025-04-04
laravel中composer镜像服务的方式
2025-04-04
Laravel前后台+API路由分离架构(完善)
2025-04-04
Laravel渴求式加载
2025-04-04
Laravel集合探学系列——添加扩展macro策略(一)
2025-04-04
Laravel项目宝塔部署全攻略:从0到1的实战指南
2025-04-04
laravl 文件存储云存储
2025-04-04
LARGE_INTEGER
2025-04-04
LaTeX 在线编辑器(LaTeX online editors)
2025-04-04
latex不能识别eps图片
2025-04-04
LaTeX介绍-ChatGPT4o作答
2025-04-04
LaTeX伪代码编辑
2025-04-04
Latex相关文章
2025-04-04
Laurent级数与奇点分析
2025-04-04
Layout Team
2025-04-04
layout_weight 的解释及使用
2025-04-04
layui 表单元素
2025-04-04
layui 表单提交不执行ajax的坑
2025-04-04
layui上传文件、图片
2025-04-04