C++ 中查找 n!尾随零的程序?\n


假设我们有一个数 n,我们必须找出 n!的尾随零数。

因此,如果输入为 n = 20,那么输出将为 4,因为 20!= 2432902008176640000

为了解决这个问题,我们将遵循以下步骤

  • 设置计数:= 0

  • 对于 i:= 5,(n/i) > 1,更新 i:= i * 5,执行

    • 计数:= 计数 + (n /i)

  • 返回计数

让我们看看以下实现以加深理解

示例

 Live Demo

#include <iostream>
#include <cmath>
#define MAX 20
using namespace std;

int countTrailingZeros(int n) {
   int count = 0;

   for (int i = 5; n / i >= 1; i *= 5)
      count += n / i;

   return count;
}

main() {
   int n = 20;
   cout << "Number of trailing zeros: " << countTrailingZeros(n);
}

输入

20

输出

Number of trailing zeros: 4

更新于:10-Nov-2020

151 次浏览

启动您的职业

通过完成课程获得认证

开始
广告
© . All rights reserved.