Pagini recente » Cod sursa (job #48929) | Cod sursa (job #1806951) | Cod sursa (job #2178148) | Cod sursa (job #2123154) | Cod sursa (job #581356)
Cod sursa(job #581356)
#include<iostream>
#include<fstream>
using namespace std;
long c;
long nr0(long x)
{
int c=x/5;
int nr=0;
//nr=c;
while(c)
{
nr+=c;
c/=5;
}
return nr;
}
long caut_bin(long infe,long sup,long p)
{
long r;
if((sup==infe) || (sup==infe+1))return -1;
else {
c=(infe+sup)/2;
r=nr0(c);
if(r==p)return c;
else if(r<p)return caut_bin(c+1,sup,p);
else if(p<r)return caut_bin(infe,c-1,p);
}
}
int main()
{
long nr2=0,nr5=0;
long p,t=1,y,inf,sup,u;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if(p==0)g<<1;
else {
inf=1;
sup=100000000;
u=caut_bin(inf,sup,p);
if(u==-1)g<<u;
else {
while(u%5!=0)
u--;
g<<u;
}
}
return 0;
}