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

运行结果

 

相关文章
|
7月前
|
Java
leetcode-509:斐波那契数
leetcode-509:斐波那契数
482 0
|
4月前
|
JavaScript 前端开发 PHP
leetcode——两数之和【一】
leetcode——两数之和【一】
30 0
|
7月前
|
算法
LeetCode-1:两数之和
LeetCode-1:两数之和
|
7月前
|
存储 算法 Go
LeetCode 第一题: 两数之和
  给定一个整数数组 `nums`​ 和一个目标值 `target`​,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组索引。\ 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
LeetCode 第一题: 两数之和
|
7月前
|
机器学习/深度学习
leetcode-172:阶乘后的零
leetcode-172:阶乘后的零
45 0
|
7月前
|
Java C++ Python
leetcode-1:两数之和
leetcode-1:两数之和
56 0
leetcode 509 斐波那契数
今天重新看了下动态规划, 它和递归的区别就是,它是自下而上的。 还了解到状态压缩 如果我们发现每次状态转移只需要 DP table 中的一部分,那么可以尝试用状态压缩来缩小 DP table 的大小,只记录必要的数据 于是就刷了这道简答题,用到了状态压缩
43 0
|
存储 Java C++
【LeetCode】 1. 两数之和
【LeetCode】 1. 两数之和
111 0
|
算法
leetcode#1:两数之和
leetcode#1:两数之和
73 0
leetcode#1:两数之和

热门文章

最新文章