假设我们有一个数字n,我们必须找到n!的尾随零。
因此,如果输入像n = 20,那么输出将是4,即20!= 2432902008176640000
为了解决这个问题,我们将按照以下步骤
设置计数:= 0
对于i:= 5,(n / i)> 1,更新i:= i * 5,执行
计数:=计数+(n / i)
返回计数
让我们看一下下面的实现以获得更好的理解
#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