python 练习题 172. 阶乘后的零

 1 '''
 2 地址:
 3 https://leetcode-cn.com/problems/factorial-trailing-zeroes/
 4 
 5 给定一个整数 n ,返回 n! 结果中尾随零的数量。
 6 
 7 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1
 8 
 9  
10 
11 示例 1:
12 
13 输入:n = 3
14 输出:0
15 解释:3! = 6 ,不含尾随 0
16 示例 2:
17 
18 输入:n = 5
19 输出:1
20 解释:5! = 120 ,有一个尾随 0
21 示例 3:
22 
23 输入:n = 0
24 输出:0
25 
26 
27 思路:
28 1.计算除以5的商和余数,
29 2.如果余数大于5继续步骤1
30 3.计算商的总和就是0的个数
31 '''
32 
33 class Solution:
34     def trailingZeroes(self, n: int) -> int:
35         resS = 0
36     
37         def getFive(n):
38             return [int(n/5),n%5]
39 
40         while True:
41             res = getFive(n)
42             resS += res[0]
43             if res[0] < 5:break
44             else:  n = res[0]  
45         return resS
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 来源:力扣(LeetCode)
56 链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes
57 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

posted @ 2022-03-25 20:22  菜小鱼~  阅读(39)  评论(0编辑  收藏  举报