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

PHPz
PHPz 转载
2023-09-20 22:05:09 803浏览

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

计算阶乘数中末尾零的个数是通过计算该数的因子中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

以上就是计算一个数的阶乘中末尾零的个数的C/C++编程?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除