Cod sursa(job #738485)
Utilizator | Data | 20 aprilie 2012 16:22:06 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <fstream>
using namespace std;
long long nrz(long long c)
{
long p=0;
while(c)
{
p+=c/5;
c/=5;
}
return p;
}
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
long long int p,st,dr,m;
f>>p;
st=1;
dr=100000000000;
while (st<dr)
{
m=(st+dr)/2;
if (nrz(m)<p)
st=m+1;
else
dr=m;
}
if (nrz(st)==p)
g<<st;
else
g<<-1;
f.close();
g.close();
return 0;
}