leetcode刷题笔记172 阶乘后的零

题目描述:


给定一个整数 n,返回 n! 结果尾数中零的数量。ide

示例1:spa

输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。

示例2:code

输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.

说明: 你的解法应该为 O(logN) 时间复杂度。blog

题目分析:

要求末尾有多少个零,则该数应为x*10的形式等于x*(2*5kio

也就是求该数分解质因子后有几个5就行,:如1*2*3*4*5=1*2*3*2*2*5(里面有一个5)因此结果为1个0class

详见代码im

 

解答代码:

class Solution { public: int trailingZeroes(int n) { int sum=0; while(n>0){ sum+=n/5; n/=5; } return sum; } };
Code
相关文章
相关标签/搜索