求n!末尾0的个数

Posted qdu_lkc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求n!末尾0的个数相关的知识,希望对你有一定的参考价值。

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

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

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);
    }
}

以上是关于求n!末尾0的个数的主要内容,如果未能解决你的问题,请参考以下文章

求N的阶乘末尾有几个0

求N!末尾所得数字0的个数

请问计算n的阶乘末尾有多少个0

阶乘末尾0的个数(证明)

阶乘末尾0的个数

计算n的阶乘末尾有多少个0