您的位置:首页 > 其它

计算n的阶乘尾数的0的个数

2012-03-29 19:26 225 查看
计算N!后面有多少个0.

主要思路就是从1到N个数中有多少个因子5

#include <iostream>
using namespace std;

int main()
{
int n;
cin >> n;
int factor5_count = 0;
// 查找第一个能被5整除的数字,也就是含有5因子的数字。
while (n % 5 != 0)
{
n --;
}
while (n > 0)
{
// 对每一个含有5因子的数字,进一步计算含有几个5因子
int tmp = n;
while (tmp % 5 == 0)
{
factor5_count ++;
tmp /= 5;
}
// 跳到下一个5的倍数处理
n -= 5;
}
cout << factor5_count << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: