求c++代码

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:46:27
求N!结尾零的个数,例如,10!=3628800,有2个零
输入有多组测试数据,每组一行,每行只有一个整数N(1<=N<=1000000)
输出每组测试数据输出一行,表示有几个0

如下,其实不难,自己仔细思考一下

#include <iostream>

using namespace std;

int main( )
{
int n, s;
while ( cin >> n )
{
s = 0;
while ( n / 5 )
{
n /= 5;
s += n;
}
cout << s << endl;
}
return 0;
}

这个方法最简单的了。不需要求出阶乘就知道0的个数
#include <cstddef>
#include <iostream>
using namespace std;]

int ntrailingzero(int n)
{
int cnt = 0;
while ( n /= 5 )
{
cnt += n; //计算N!结尾零的个数
}

return cnt;
}
int main()
{
int total = 0;
int number;
cin>>number;
total = ntrailingzero(number);
cout<<"N!结尾零的个数:"<<total<<endl;
system("pause");
return 0;
}