Pagini recente » Cod sursa (job #556165) | Cod sursa (job #1331804) | Cod sursa (job #1456907) | Cod sursa (job #2117649) | Cod sursa (job #1814470)
#include<stdio.h>
FILE*fin,*fout;
inline int nr_zero(int N)
{
int put=5;
int zero=0;
while(N/put)
{
zero+=N/put;
put*=5;
}
return zero;
}
inline int caut(int st,int dr,int P)
{
while(st<=dr)
{
int mij=(st+dr)/2;
int opt=nr_zero(mij);// ca sa ne fie bine,sa nu ne fie rau
printf("%d ",opt);
if(opt==P)
{
return mij-mij%5;
}
if(opt<P)
{
st=mij+1;
}
if(opt>P)
{
dr=mij;
}
}
return -1;
}
int main()
{
fin=fopen("fact.in","r");
fout=fopen("fact.out","w");
int P;
fscanf(fin,"%d",&P);
if(P==0)
{
fprintf(fout,"1");
}
else
{
fprintf(fout,"%d",caut(1,5*P,P));
}
fclose(fin);
fclose(fout);
return 0;
}