Given an integer n, return the number of trailing zeroes in n!.
這是一道數學題,把N!寫成乘數。那么零的產生是因為2*5而來的,因為每隔一個五,肯定有不止一個2,你可以考慮一下5-25之間有幾個數是2的倍數。那么我們只用考慮N!中五的個數,每次有一個5,就會有1個0,同理,當有25時,會產生兩個0,由于我們在計算五的個數時已經計算了一次5了,所以25的時候還要再多一次。
簡單的說,公式是:
N/5+N/25+N/125+N/625+...直到除的結果是0。
class Solution {
public int trailingZeroes(int n) {
int count = 0;
while(n>0)
{
count+=n/5;
n=n/5;
}
return count ;
}
}