整数nを指定すると、nを返します!結果の仮数部のゼロの数。
例1:
入力:3
出力:0
説明:3!= 6、仮数にゼロはありません。例2:
入力:5
出力:1
説明:5!= 120、仮数には1つのゼロがあります。
最初に、端がゼロのときにどうなるかを想像してください。明らかに2 * 5 = 10なので、因数分解して2と5のペアの合計数を数えます。2の数は5よりはるかに多いため、 5の数を数えるだけです。
これは、1〜nのすべての数値の5の因子和を計算することです。これは、5で割ることができます。これは、5/25/125の数を見つけることと同じです...
class Solution {
public:
int trailingZeroes(int n) {
int num=0;
while(n){
num+=n/5;
n=n/5;
}
return num;
}
};