LeetCode——172.阶乘后的0(JS)
题目描述:
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:
在阶乘中,只有乘10,才能在结尾加一个0,由于只有2*5为10,所以只需要统计所有数的质因数中有多少对2,5就好了。不难想,所有偶数都有因数2,并且可能不止一个,但数不一定有质因数5,所以2的数量一定会大于5。即只需要统计所有数有多少个5就好了。那就等于结果尾数0的个数。
代码:
/**
* @param {number} n
* @return {number}
*/
var trailingZeroes = function(n) {
let times = 0; //计数全局变量
function fiveTimes(a){
while(a%5===0){ //统计形参a有多少个质因数5
times++;
a = parseInt(a/5);
}
}
for(let i=5;i<=n;i+=5){ //遍历5的倍数,取所有质因数5
fiveTimes(i);
}
return times;
};
运行结果:

📦 前端资源合集 | 持续更新
🟢 前端0到1【持续更新】→ https://pan.quark.cn/s/5df55ccff7c4
🔵 前端进阶【持续更新】→ https://pan.quark.cn/s/2dec1c87b3ec
🟣 前端2026最新【持续更新】→ https://pan.quark.cn/s/77c8fa94161c
🔴 AI最新学习资料 → https://pan.baidu.com/s/1P9X2Qk_Fby3rFNVGw_WKow?pwd=46XG 提取码:46XG
觉得有用就点个赞+收藏,关注我持续分享前端干货 💡
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)