LeetCode-172 阶乘后的零

简介: 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;
    }
};

运行结果

 

相关文章
|
2月前
|
Java
leetcode-509:斐波那契数
leetcode-509:斐波那契数
465 0
|
2月前
|
机器学习/深度学习
leetcode-172:阶乘后的零
leetcode-172:阶乘后的零
24 0
|
2月前
|
Java C++ Python
leetcode-1:两数之和
leetcode-1:两数之和
31 0
|
7月前
leetcode 509 斐波那契数
今天重新看了下动态规划, 它和递归的区别就是,它是自下而上的。 还了解到状态压缩 如果我们发现每次状态转移只需要 DP table 中的一部分,那么可以尝试用状态压缩来缩小 DP table 的大小,只记录必要的数据 于是就刷了这道简答题,用到了状态压缩
28 0
|
存储 算法
LeetCode:1. 两数之和
给定一个整数数组nums 和一个整数目标值target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。
LeetCode:1. 两数之和
|
存储 Java C++
【LeetCode】 1. 两数之和
【LeetCode】 1. 两数之和
96 0
LeetCode第一题 “两数之和” 从无到有
LeetCode第一题 “两数之和” 从无到有