Pagini recente » Istoria paginii runda/23dezile_2 | Istoria paginii runda/nimi/clasament | Autentificare | Cod sursa (job #2012943) | Cod sursa (job #864042)
Cod sursa(job #864042)
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int P,i,j,m,p,u,s,d,v[15];
int main () {
fin>>P;
v[0]=1;
for (i=5;i<=P*5;i=i*5)
v[++d]=i;
v[++d]=2000000000;
p=1;
u=P*5;
while (p<=u) {
m=(p+u)/2;
s=0;
for (j=1;v[j]<=m;j++)
s=s+m/v[j];
if (s>=P)
u=m-1;
else
p=m+1;
}
s=0;
for (j=1;v[j]<=p;j++)
s=s+p/v[j];
if (s==P)
fout<<p<<"\n";
else
if (P==0)
fout<<v[0];
else
fout<<-1<<"\n";
return 0;
}