Leetcode 172. Factorial Trailing Zeroes
Posted Deribs4
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 172. Factorial Trailing Zeroes相关的知识,希望对你有一定的参考价值。
172. Factorial Trailing Zeroes
Total Accepted: 63051 Total Submissions: 188884 Difficulty: Easy
Given an integer n, return the number of trailing zeroes in n!.
思路:统计n!中5的个数。但要注意5的次方数的存在。
关于为什么特定数n,n!中2的个数要大于5的个数:n=2a=5b(a,b可以不为整数),显然a>b。
第1次除以2,相当于筛除[1,n]中只含1个2的数;
第2次除以2,相当于筛除[1,n]中只含2个2的数;
第3次除以2,相当于筛除[1,n]中只含3个2的数;
。。。。
代码:
方法一:
1 class Solution { 2 public: 3 int trailingZeroes(int n) { 4 int zeros=0; 5 while(n){ 6 n/=5; 7 zeros+=n; 8 } 9 return zeros; 10 } 11 };
方法二:
1 class Solution { 2 public: 3 int trailingZeroes(int n) { 4 return n==0?0:n/5+trailingZeroes(n/5); 5 } 6 };
以上是关于Leetcode 172. Factorial Trailing Zeroes的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode 172 Factorial Trailing Zeroes
Java [Leetcode 172]Factorial Trailing Zeroes
leetcode 172. Factorial Trailing Zeroes
leetcode-172-Factorial Trailing Zeroes