校招准备系列:每天一道算法题(7)-末尾0的个数

来源:互联网 发布:hive sql union all 编辑:程序博客网 时间:2024/05/29 23:46

末尾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;    }}
您的代码已保存答案正确:恭喜!您提交的程序通过了所有的测试用例
阅读全文
0 0
原创粉丝点击