classSolution{publicinttrailingZeroes(int n){int ans =0;//统计5的个数for(int i =5; i <= n; i +=5){//只有5,10,15,20,25....会出现5,其它数字不会出现5for(int x = i; x %5==0; x /=5){//统计这些因子中的5的个数。例如100这个因子,可以拆解为5*5*4.有两个5++ans;//5的个数}}return ans;}}
数学优化:思路转变为求5的倍数的个数
解题思路:时间复杂度O(
l
o
g
2
n
log_2n
log2n),空间复杂度O(
1
1
1)
题目 思路和解题方法 目标是计算给定数 n 的质因数个数。可以使用了试除法来找到 n 的所有质因数 读取输入的数 n。从 2 开始遍历到 sqrt(n),对于每个数 i: 如果 n 能被 i 整除,则进行以下操作: 将 n 除以 i,直到 n 不…