Pagini recente » Cod sursa (job #621835) | Cod sursa (job #1090350) | Cod sursa (job #1298219) | Cod sursa (job #1909558) | Cod sursa (job #2025888)
#include <stdio.h>
unsigned long long f(unsigned long long val) {
unsigned long long i = 25, count = 0, p = 1;
while ( i <= val ) {
i *= 5;
count ++;
p++;
}
return count + val / 5;
}
unsigned long long getN(int p) {
unsigned long long lo = 1, hi = (1LL << 63), mid = 0, rez = 0, ans = 0;
while( lo <= hi ) {
mid = lo + (hi - lo) / 2;
rez = f(mid);
if ( rez == p )
ans = mid;
if ( rez < p )
lo = mid + 1;
else
hi = mid - 1;
}
return ans;
}
main() {
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int p;
unsigned long long res;
scanf("%d", &p);
res = getN(p);
printf("%lld", res);
}