Cod sursa(job #743551)
Utilizator | Data | 4 mai 2012 21:26:23 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.75 kb |
#include <fstream>
using namespace std;
bool is5pow(long x)
{
long y = 1;
while(y < x)
{
y *= 5;
}
if(x == y)
return true;
return false;
}
int main()
{
long p, pow, zeros, i;
ifstream fin("fact.in");
ofstream fout("fact.out");
fin>>p;
fin.close();
if(p == 0)
fout<<1;
else
{
for(i = 0, zeros = 0, pow = 0; zeros <= p; i += 5)
{
if(!is5pow(i))
++zeros;
else
{
++pow;
zeros += pow;
}
}
if(zeros == p + 1)
fout<<i - 5;
else
fout<< -1;
}
fout.close();
return 0;
}