Pagini recente » Cod sursa (job #390839) | Cod sursa (job #2377689) | Cod sursa (job #1501382) | Cod sursa (job #252065) | Cod sursa (job #2133315)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long nr_zerouri(long n){
long nr = 0;
for(int i = 5; i <= n; i *= 5){
nr += n / i;
}
return nr;
}
int main()
{
long p;
fin >> p;
long raspuns = -1;
long stanga = 1, dreapta = LONG_MAX;
long mijloc;
while(stanga <= dreapta){
mijloc = stanga + (dreapta - stanga)/2;
if(nr_zerouri(mijloc) >= p){
raspuns = mijloc;
dreapta = mijloc - 1;
}
else stanga = mijloc + 1;
}
if(nr_zerouri(raspuns) == p)
fout << raspuns;
else fout << -1;
return 0;
}