n的阶乘后面有多少个0?

6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Input一个数N(1 <= N <= 10^9)Output输出0的数量Sample Input

5

Sample Output

1

思路:有5作为乘数才能产生末尾0,求末尾有多少个0相当于求因子5的个数

n不断除以5
第一次除以5得到是1~n中因子含5的个数
第二次除以5得到的是1~n中因子含25的个数
...
第n次除以5得到的是1~n中因子含5^n的个数
代码:
import java.util.Scanner;

public class Main {
       public static void main(String[] args) {
            Scanner scan=new Scanner(System.in);
            int n=scan.nextInt();
            int count=0;
            while(n>0){
                  count+=(n=n/5);
            }
            System.out.println(count);
    }
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄