Pagini recente » Cod sursa (job #1169774) | Cod sursa (job #3178904) | Cod sursa (job #292240) | Cod sursa (job #3173481) | Cod sursa (job #2575077)
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
long long f(long long n) {
long long p5=5,nr0=0;
while(n/p5) {
nr0+=n/p5;
p5*=5;
}
return nr0;
}
int main() {
fin=fopen("fact.in","r");
fout=fopen("fact.out","w");
int n;
long long dr,st,mij;
fscanf(fin,"%d",&n);
if(n==0) {
fprintf(fout,"1\n");
}
else {
st=1;
dr=100000000;
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,"%lld\n",st+1);
}
else {
fprintf(fout,"-1\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}