Pagini recente » Cod sursa (job #1847419) | Cod sursa (job #2926854) | Cod sursa (job #2196190) | Cod sursa (job #2069467) | Cod sursa (job #1107784)
#include<math.h>
#include<stdio.h>
#include<algorithm>
using namespace std;
int p;
int ok (int n, int k) {
int ans = 0, pk;
pk = 1;
while(pk <= n) {
pk *= k;
ans += n / pk;
}
return ans;
}
int bs (int left, int right) {
int mid, last;
while(left <= right) {
mid = (left + right) / 2;
if(ok(mid, 2) >= p && ok(mid, 5) >= p)
last = mid,
right = mid - 1;
else
left = mid + 1;
}
if(min(ok(last, 2), ok(last, 5)) != p)
last = -1;
return last;
}
int main() {
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
printf("%d",bs(1, 1e9));
return 0;
}