Pagini recente » Cod sursa (job #1950428) | Cod sursa (job #1909168) | Profil byndrsn | Cod sursa (job #1936616) | Cod sursa (job #627529)
Cod sursa(job #627529)
#include<fstream>
#include<iostream>
using namespace std;
unsigned short v[48828126];
long fact(long x)
{
long c,i,y;
c=0;
for(i=5;i<=x;i=i+5) {
y=i;
while((y%5==0)&&(y>48828126)) {
c++;
y=y/5;
}
c=c+v[y];
}
return c;
}
int main ()
{
long p,q,m,c,a,n;
ifstream f("fact.in");
ofstream g("fact.out");
f>>n;
f.close();
p=1;
q=10000000;
a=0;
while(p<=q) {
m=(p+q)/2;
c=fact(m);
if(c<n)
p=m+1;
else if(c>n)
q=m-1;
else {
a=1;
break;
}
}
if(a==0)
g<<"-1";
else {
while(m%5!=0)
m--;
if(m==0)
m++;
g<<m;
}
g.close();
return 0;
}