Pagini recente » Cod sursa (job #2467148) | Cod sursa (job #57348) | Cod sursa (job #2296409) | Cod sursa (job #2047281) | Cod sursa (job #1769226)
#include <iostream>
#include <stdio.h>
int exponent(int nr) {
int x=5,k=0;
while(nr/x!=0) {
k += nr/x;
x *= 5;
}
return k;
}
int main() {
FILE *fin = fopen("factorial.in", "r");
FILE *fout = fopen("factorial.out", "w");
int p, i = 1, j=500000000,st = 0,x,k=0;
fscanf(fin, "%d", &p);
if(p==0) {
fprintf(fout, "1");
k=1;
}
else {
while(i<=j&&!st) {
int m=(i+j)/2;
if(exponent(m)==p) {
st = 1;
x=m;
}
else if(exponent(m)>p)
j=m-1;
else i=m+1;
}
}
if(st==1)
fprintf(fout, "%d", x/5 * 5);
else if(k!=1)
fprintf(fout, "-1");
fclose(fin);
fclose(fout);
return 0;
}