【002】阶乘尾部0

问题描述:计算任意一个数字的阶乘(如32!)值,并获取其尾部数字0的数量。
重点:

  1. 阶乘公式的应用

主要考点:

  1. 阶乘结果其尾部0的产生原因

算法公式:

  1. 基本阶乘公式:N! = (N-1)! × N
  2. 示例推导:
    1. 4! = 4 × 3 × 2 × 1 = 24
    2. 5! = 5 × 4 × 3 × 2 × 1 = 120
    3. 10! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 3628800
  3. 由上式可得:尾部0的数量与其素因子5的数量有关,即其0的个数为N!中5的倍数出现次数

实现代码:

  public long ZerosOfTailTheFac(long n) {
        //n!中,5的倍数出现次数
        long sum = 0;
        while (n != 0) {
            sum += n / 5;
            n /= 5;
        }
        return sum;
 }

运算结果:示例为12!

sum:2
n/5:2

sum:2
n/5:0

result:2

你可能感兴趣的:(【002】阶乘尾部0)