Pagini recente » Cod sursa (job #1865874) | Cod sursa (job #2922806) | Cod sursa (job #2564893) | Cod sursa (job #1645040) | Cod sursa (job #607035)
Cod sursa(job #607035)
#include <stdio.h>
int maara(int n) {
int s = 0, a;
for (a = 5; a <= n; a *= 5) {
s += n / a;
}
return s;
}
int haku(int a, int b, int t) {
int k = (a+b)/2;
int m = maara(k);
if (a > b) return -1;
if (m < t) return haku(k+1, b, t);
if (m > t) return haku(a, k-1, t);
while (maara(k) == t && k > 0) k--;
return k+1;
}
int main(void) {
FILE *tied;
int p, n;
tied = fopen("fact.in", "r");
fscanf(tied, "%i", &p);
fclose(tied);
n = (p == 0) ? 1 : haku(1, 5*p, p);
tied = fopen("fact.out", "w");
fprintf(tied, "%i\n", n);
fclose(tied);
return 0;
}