Pagini recente » Cod sursa (job #799712) | Cod sursa (job #19175) | Cod sursa (job #1584367) | Cod sursa (job #930210) | Cod sursa (job #1614469)
#include <stdio.h>
FILE *in;
FILE *out;
int zero(int n) {
int k = 0;
while(n >= 5) {
k += n / 5;
n /= 5;
}
return k;
}
int cautare_binara(int l, int r, int p) {
int mid = r + (l - r) / 2;
if(l > r)
return -1;
if(zero(mid) == p)
return mid;
if(zero(mid) > p)
return cautare_binara(l, mid - 1, p);
else
return cautare_binara(mid + 1, r, p);
}
int main() {
in = fopen("fact.in", "r");
out = fopen("fact.out", "w");
int p, i, nr = 1, sol;
fscanf(in, "%d", &p);
for (i = 1; i <= 9; i++, nr *= 10);
sol = cautare_binara(1, nr, p);
fprintf(out, "%d", sol);
return 0;
}