Pagini recente » Cod sursa (job #2633328) | Cod sursa (job #2259848) | Cod sursa (job #1048348) | Cod sursa (job #2775848) | Cod sursa (job #1803521)
#include <stdio.h>
#define L 31
inline long long zero(long long n) {
long long total = 0LL;
while(n) {
total += n / 5LL;
n /= 5LL;
}
return total;
}
inline long long caut2(long long x) {
long long r = 0LL;
long long pos = 1LL << L;
while(pos) {
if(r + pos <= 1LL << L && zero(r + pos) < x)
r += pos;
pos /= 2LL;
}
if(x == zero(r + 1LL))
return r + 1LL;
return -1LL;
}
FILE *fin, *fout;
int main() {
fin = fopen("fact.in", "r");
fout = fopen("fact.out", "w");
long long p;
fscanf(fin, "%lld", &p);
fprintf(fout, "%lld", caut2(p));
fclose(fin);
fclose(fout);
return 0;
}