我正在尝试解决在任何自然数的阶乘末尾计算 0 的标准问题。我的代码工作正常,但在线判断给出“超出时间限制”错误。决定在这里询问我如何优化我的代码。
#include <iostream>
using namespace std;
int count (int n)
{
int result = 0;
for (unsigned int i = 5; i <= n; i += 5)
{
int temp = i;
while (!(temp % 5))
{
++result;
temp /= 5;
}
}
return result;
}
int main()
{
int N;
cin >> N;
cin.get();
for (unsigned int i = 0; i < N; ++i)
{
int n;
cin >> n;
cin.get();
cout << count (n) << endl;
}
return 0;
}
提前致谢。