刷题-力扣-面试题 16.05. 阶乘尾数

题目链接

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/factorial-zeros-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题目描述

设计一个算法,算出 n 阶乘有多少个尾随零。

示例 1:

输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。

示例 2:

输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.

说明:

  • 你算法的时间复杂度应为 O(log n) 。

题目分析

  1. 计算一个数阶乘的0尾数,等价于计算[1,n]中5的质因数的总和

代码

class Solution {
public:
    int trailingZeroes(int n) {
        int num = 0;
        while (n) {
            n /= 5;
            num += n;
        }
        return num;
    }
};
posted @ 2022-05-01 10:48  韩亚光  阅读(24)  评论(0编辑  收藏  举报