Pagini recente » Cod sursa (job #2417157) | Cod sursa (job #405819) | Cod sursa (job #1367570) | Cod sursa (job #163466) | Cod sursa (job #828538)
Cod sursa(job #828538)
#include <stdio.h>
#include <stdlib.h>
FILE *in,*out; long n,P,limdr=1000000000,limst=5,X;
long suma(int x)
{
long s1=0,pp=5;
while(x/pp>0)
{
s1=s1+x/pp;
pp=pp*5;
}
return s1;
}
long caut (long limst, long limdr)
{ long mij,ss;
mij=(limst+limdr)/2;
ss=suma(mij);
if (ss==P)
return mij;
else
if(limst<limdr)
{
if(ss>P)
return
caut (limst,mij-1);
else
return caut(mij+1,limdr);
}
else return -1;
}
int main()
{
in=fopen("fact.in","r");
out=fopen("fact.out","w");
fscanf(in,"%d",&P);
X=caut(limst,limdr);
while(X%5>0)
X--;
if(P==0)
fprintf(out,"%d",1);
else
fprintf(out,"%ld",X);
fclose(in);fclose(out);
return 0;
}