关关的刷题日记 86 – Leetcode 172. Factorial Trailing Zeroes

关关的刷题日记86 – Leetcode 172. Factorial Trailing Zeroes

题目

Given an integer n, return the number of trailing zeroes in n!.

Note: Your solution should be in logarithmic time complexity.

题目的意思是给定一个整数n,求n的阶乘有多少个后缀0.

思路

思路:n!=1*2*3*……*n,判断这个数有多少个后缀0,通过观察我们可以发现每当出现一个约数2和一个约数5,就可以产生一个后缀0,只要是偶数中都存在2这个约数,所以2的数目肯定比5多,所以只需要判断约数5的个数,就是所求。需要注意的是,25、50这样的约数里面含有2个约数5。

class Solution {
public:
    int trailingZeroes(int n) {
        int re=0;
        while(n>=5)
        {
            n/=5;
            re+=n;
        }
        return re;
    }
};

照顾好自己的身体,控制好自己的情绪,加油!

以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。 同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注我们的微信公众号。

图片

展开全文
相关主题
Top
微信扫码咨询专知VIP会员