class Solution {
public int trailingZeroes(int n) {
// 用于统计末尾 0 的个数
int ans = 0;
// 当 n 不为 0 时进行循环
while (n!= 0) {
// n 除以 5,相当于统计 n 中有多少个 5 的因子
n /= 5;
// 将每次得到的 n 累加到 ans 中,因为每次 n/5 得到的结果都是 n 中 5 的因子个数的一部分
ans += n;
}
// 返回末尾 0 的个数
return ans;
}
}
class Solution {
public double myPow(double x, int n) {
long N = n;
return N >= 0 ? helper(x, N) : 1.0 / helper(x, N);
}
public double helper(double x, long N) {
if (N == 0) {
return 1.0;
}
double y = helper(x, N / 2);
return N % 2 == 0 ? y * y : y * y * x;
}
}