package com.fl.algorithm;
import java.util.Scanner;
public class Factorial {
public static long factorialZero(long n){
/**本质是求一共有多少个因数5
记录5的个数*/
long count = 0L;
/**
temp的两大作用:
第一: 临时存储"5"的个数(随着每次的循环更新,会越变越少)
第二: 控制循环(当temp降为0时, 终止循环)
*/
long temp = n/5;
//关键循环 当temp为0时,停止循环
while(0!=temp){
// 累加上次记录的"5"的个数
count += temp;
//获取第N次获取5的个数
temp = temp/5;
}
return count;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
long integer = sc.nextLong();
long result = Factorial.factorialZero(integer);
System.out.println(integer+"的阶乘尾部有"+result+"个零");
}
}