LeetCode-172 阶乘后的零

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes

题目描述

给定一个整数 n ,返回 n! 结果中尾随零的数量。

提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1

 

示例 1:

输入:n = 3
输出:0
解释:3! = 6 ,不含尾随 0
示例 2:

输入:n = 5
输出:1
解释:5! = 120 ,有一个尾随 0
示例 3:

输入:n = 0
输出:0
 

提示:

0 <= n <= 104

 

解题思路

简单题,0的个数就是因数10的个数,我们没必要算出真正的阶乘结果,只要找到结果中2和5的个数,而阶乘中2肯定比5多,所以统计5的个数,就可以得到结果。

代码展示

复制代码
class Solution {
public:
    int trailingZeroes(int n) {
        if(n == 0) return 0;
        int Count5 = 0;
        for(int i = 1; i <= n; i ++)
        {
            int j = i;
            while(!(j % 5))
            {
                Count5++;
                j /= 5;
            }
        }
        return Count5;
    }
};
复制代码

 

运行结果

 

 

posted @   过客匆匆,沉沉浮浮  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示