Pagini recente » Cod sursa (job #13) | Cod sursa (job #95340) | Cod sursa (job #530625) | Cod sursa (job #763329) | Cod sursa (job #2575110)
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
int f(int n) {
int p5=5,nr0=0;
while(p5<=n) {
nr0+=n/p5;
p5*=5;
}
return nr0;
}
int main() {
fin=fopen("fact.in","r");
fout=fopen("fact.out","w");
int n,dr,st,mij;
fscanf(fin,"%d",&n);
if(n==0) {
fprintf(fout,"1\n");
}
else {
st=1;
dr=100000001;
n--;
while(dr-st>1) {
mij=(st+dr)/2;
if(n<f(mij)) {
dr=mij;
}
else {
st=mij;
}
}
if(f(st+1)==n+1) {
fprintf(fout,"%d\n",st+1);
}
else {
fprintf(fout,"-1\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}