Pagini recente » Cod sursa (job #1498571) | Cod sursa (job #208838) | Cod sursa (job #1663611) | Cod sursa (job #558867) | Cod sursa (job #11932)
Cod sursa(job #11932)
#include<fstream.h>
unsigned long p;
void cont(unsigned long jum,unsigned long &c)
{unsigned long p;
for(p=5;p<=jum;p=p*5)
c=c+jum/p;
}
unsigned long caut(unsigned long li,unsigned long ls)
{unsigned long c;
unsigned long jum,val;
while(li<ls)
{jum=(li+ls)/2;
c=0;cont(jum,c);
/*if(c==(p+1))
{c=0;val=jum-jum%5-5;
cont(val,c);
if(c==(p-1)) return 0;
}*/
if(c==p) return (jum-jum%5);
else if(c<p) li=jum;
else ls=jum;
}
return 0;
}
int main()
{ifstream f("fact.in");
ofstream g("fact.out");
unsigned long a,b,rez;
f>>p;f.close();
a=0;b=4200000000;
rez=caut(a,b);
if(!rez) {g<<-1<<'\n';g.close();}
else {g<<rez<<'\n';g.close();}
return 0;
}