Pagini recente » Cod sursa (job #2394005) | Cod sursa (job #2227203) | Cod sursa (job #75770) | Cod sursa (job #2070832) | Cod sursa (job #2657376)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
#define ull unsigned long long
ull p, x, nr2, nr5;
int desc(ull n) {
ull nr2 = 0, nr5 = 0;
for(ull i = 1; i <= n; i++) {
ull cop = i;
while(cop % 2 == 0) {
cop /= 2;
nr2++;
}
while(cop % 5 == 0) {
cop /= 5;
nr5++;
}
}
return nr5;
}
int CautareBinara(int p) {
ull st = 1, dr = 1 << 25;
ull x = -1;
while(st <= dr) {
ull mid = (st + dr) / 2;
ull y = desc(mid);
if(y == p) {
x = mid;
dr = mid - 1;
}else if(y > p)
dr = mid - 1;
else st = mid + 1;
}
return x;
}
int main() {
cin >> p;
cout << CautareBinara(p);
return 0;
}