Pagini recente » Cod sursa (job #1822133) | Cod sursa (job #2093815) | Cod sursa (job #231259) | Cod sursa (job #2808361) | Cod sursa (job #581316)
Cod sursa(job #581316)
#include<iostream>
#include<fstream>
using namespace std;
int c;
int nr0(long x)
{
int nr=0,j,i;
for(i=5;i<=x;i+=5)
{
j=i;
while(j%5==0)
{
nr++;
j/=5;
}
}
return nr;
}
int 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()
{
int nr2=0,nr5=0;
long p,t=1,y,inf,sup,u;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
inf=0;
sup=100000000;
u=caut_bin(inf,sup,p);
if(u==-1)g<<-1;
else {
while(nr0(u)==p)
u--;
u++;
g<<u;
}
/*if(p==5)g<<-1;
else
if(!p)g<<1;
else {
while(nr5<=p-1)
{
y=t;
while(y%5==0 && nr5<=p-1)
{
nr5++;
y/=5;
}
t++;
}
}
g<<t-1;*/
return 0;
}