Pagini recente » Diferente pentru problema/drumuri1 intre reviziile 6 si 8 | Monitorul de evaluare | Diferente pentru problema/alice2 intre reviziile 4 si 5 | Cod sursa (job #668836) | Cod sursa (job #2625214)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int nrOf0(int n)
{
int putere = 5;
int nr = 0;
while (n/putere) {
nr += n/putere;
putere *= 5;
}
return nr;
}
int p, st = 1, dr = 900000000, mid;
int main()
{
f >> p;
while(st <= dr)
{
mid = (st + dr)/2;
if(nrOf0(mid) < p)
st = mid + 1;
else
dr = mid - 1;
}
if(nrOf0(st) == p)
g << st;
else
g << -1;
}