给定一个整数 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
思路一:找规律
c语言解法
int trailingZeroes(int n){
int count = 0;
while(n >= 5) {
count += n / 5;
n /= 5;
}
return count;
}
分析:
由题可知:每5个数则末尾会多一个零,因为:5乘任何带以二为因数的数尾部均会添加一个零,利用这个特点题目要求的问题可转化为找给出的n共有多少存在以5为因数的数,利用阶乘的知识即每以5为阶乘记录每次除五后的数,不断找出因数5,最后返回结果即可文章来源:https://www.toymoban.com/news/detail-725615.html
总结:
本题考察数学知识,通过找规律的方法将问题本质剖析清楚后解题事半功倍。文章来源地址https://www.toymoban.com/news/detail-725615.html
到了这里,关于leetcode做题笔记172. 阶乘后的零的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!