Pagini recente » Cod sursa (job #241373) | Cod sursa (job #2171109) | Cod sursa (job #460416) | Cod sursa (job #3258927) | Cod sursa (job #2375740)
#include <stdio.h>
int main()
{
FILE *fin,*fout;
fin=fopen("factorial.in","r");
fout=fopen("factorial.out","w");
long long p,st,dr,mij,poz,k,cp,l5,l2;
fscanf(fin,"%lld",&p);
if(p==0){
fprintf(fout,"1");
}
else{
st=1;
dr=p*20;
while(st<=dr){
mij=(dr+st)/2;
l5=0;
cp=1;
while(cp*5<=mij){
cp=cp*5;
l5=l5+mij/cp;
}
l2=0;
cp=1;
while(cp*2<=mij){
cp=cp*2;
l2=l2+mij/cp;
}
if(l2<l5)
k=l2;
else
k=l5;
if(k<p)
st=mij+1;
else
if(k>p)
dr=mij-1;
else{
poz=mij;
dr=mij-1;
}
}
fprintf(fout,"%lld",poz);
}
return 0;
}