卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章21125本站已运行3411

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

计算一个数的阶乘中末尾零的个数的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程序中全局变量的重新声明
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏