首页 > 文章列表 > 计算一个数的阶乘中末尾零的个数的C/C++编程?

计算一个数的阶乘中末尾零的个数的C/C++编程?

计算 阶乘 末尾零
185 2023-09-07

计算阶乘数中末尾零的个数是通过计算该数的因子中2和5的个数来完成的。因为2*5等于10,而10是阶乘数中的末尾零。

示例

7的阶乘=5040,末尾0的个数为1。

根据我们的逻辑,7!=2*3*4*5*6*7,它有3个2和1个5,所以末尾0的个数为1。

#include <iostream>
using namespace std;
int main() {
   int n = 45;
   int count = 0;
   for (int i = 5; n / i >= 1; i *= 5)
      count += n / i;
   cout<<"No of trailing 0s in " << n<< "! is " << count;
   return 0;
}

输出

No of trailing 0s in 24! is 10