末尾0的个数 [滴滴校招]
题目:
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2
输入描述:
输入为一行,n(1 ≤ n ≤ 1000)
输出描述:
输出一个整数,即题目所求
输入例子:
10
输出例子:
2
思考:很经典的题目,只有2*5的时候可以产生零,而5的个数比2的少,所以求5的个数就是零的个数!
结果:
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int sum = 0;
for(int i=5;i<=n;i+=5){
sum+=count(i);
}
System.out.println(sum);
}
public static int count(int n){
int sum = 0;
while(n>=5 && n%5==0){
sum++;
n = n/5;
}
return sum;
}
}
您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例