Pagini recente » Cod sursa (job #896605) | Cod sursa (job #459387) | Cod sursa (job #775745) | Cod sursa (job #394385) | Cod sursa (job #1492681)
#include <fstream>
using namespace std;
FILE*fin=fopen("factorial.in","r");
FILE*fout=fopen("factorial.out","w");
int n;
int div5(int x)
{
int i=5,s=0;
while (i<=x)
{
s=s+x/i;
i*=5;
}
return s;
}
int cautbin(int inf,int sup)
{
//cout<<inf<<" "<<sup<<endl;
if (inf<=sup)
{
int nr5 = (sup - inf) / 5;
if (nr5>1)
{
int mij;
if (nr5 % 2 == 0)
{
mij=inf + 5 * (nr5 / 2);
}
else
{
mij=inf + 5 * (nr5 / 2 + 1);
}
int z=div5(mij);
//cout<<inf<<" "<<mij<<" "<<sup<<" "<<z<<endl;
if (z==n)
return mij;
else
{
if (z<n)
return cautbin(mij,sup);
else
return cautbin(inf,mij);
}
}
return -1;
}
else
return -1;
}
int main()
{
fscanf(fin,"%d",&n);
if (n==0)
fprintf(fout,"%d",1);
else
fprintf(fout,"%d",cautbin(0,100000000));
return 0;
}