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;
    }
};

运行结果

 

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