Cod sursa(job #1320646)
Utilizator | Data | 18 ianuarie 2015 11:29:27 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
int nz(int x)
{
int rez = 0, ci=5;
while(x/ci > 0)
{
rez += x/ci;
ci *= 5;
}
return rez;
}
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
int i, st, dr, mij, p;
fin>>p;
st = 1; dr = p*5;
while(st <= dr)
{
mij = (st+dr)/2;
if(nz(mij) < p)
st = mij+1;
else
dr = mij-1;
}
if(nz(st) == p)
fout<<st<<'\n';
else
fout<<-1<<'\n';
return 0;
}