Cod sursa(job #2663887)
Utilizator | Data | 27 octombrie 2020 15:55:22 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | c-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include <stdio.h>
int main(){
FILE *i, *o;
i = fopen("fact.in", "r");
o = fopen("fact.out", "w");
long long r = -1, s= 1 , f= 1000000000, p, m, zr, q;
fscanf(i, "L", &p);
while ( s<=f ){
m = (s+f)/2;
zr = 0;
for (q = 5; q<=m; q*=5) zr += (m/q);
if (zr == p) {r = m; f=m-1;}
else if (zr > p) f = m-1;
else s = m+1;
}
fprintf(o, "L", r);
return 0;
}