Pagini recente » Istoria paginii utilizator/neamtzu21 | Statistici Daria Diaconu (dariadiaconu76) | Statistici Petrica Marius Cristian (DanGeros) | Monitorul de evaluare | Cod sursa (job #24056)
Cod sursa(job #24056)
#include <stdio.h>
#include <math.h>
long long p;
long long n;
void citire(){
FILE *in;
in=fopen("fact.in","r");
fscanf(in,"%lld",&p);
fclose(in);
}
void scriere(){
FILE *out;
out=fopen("fact.out","w");
fprintf(out,"%lld",n);
fclose(out);
}
double nrz(long long i){
double x,k,sum;
sum=0;
x=log(i)/log(5);
for(k=1;k<=x;k++){
sum=sum+floor(i/pow(5,k));
}
return sum;
}
void procesare(){
long long i;
long long a=0;
long long st,dr,c,f;
st=0;
dr=5000000000;
n=1;
if(p>0){/*
for(i=p*5;i<=50000000;i+=5){
a=nrz(i);
if(a==p){ n=i;break; }
if(a>p) { n=-1;break;}}}
*/
while(n){ c=(st+dr)/2;
f=nrz(c);
if(f==p&&st==dr) {n=st;break;}
if(dr<st) {n=-1;break;}
if(p>f) st=c+1;
else dr=c-1;
}
}
}
int main(){
citire();
procesare();
scriere();
return 0;
}