Pagini recente » Cod sursa (job #24843) | Rating Andrei Chis (andrei997) | Clasament lee_pregatire | Cod sursa (job #1574333) | Cod sursa (job #221448)
Cod sursa(job #221448)
#include <fstream.h>
int main ()
{long p,s=0,i,x=0,m;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if(p==0) g<<-1;
else
if(p<=250000)
for (i=0;i<=p*5;i=i+5)
{m=i;
while (m%5==0)
{if(m==0) break;
m=m/5;
s=s+1;
if (m==1) break;
}
if (m!=0) x=x+1;
if (s==p) {g<<x*5; break;}
else if (s>p) {g<<-1; break;}
}
else if(p<=500000)
{x=1000010/5;
s=250000;
for (i=1250005;i<=p*5;i=i+5)
{m=i;
while (m%5==0)
{m=m/5;
s=s+1;
if (m==1) break;
}
if (m!=0) x=x+1;
if (s==p) {g<<x*5; break;}
else if (s>p) {g<<-1; break;}
}
}
else if (p<=750000)
{x=2000005/5;
s=500000;
for (i=2000010;i<=p*5;i=i+5)
{m=i;
while (m%5==0)
{m=m/5;
s=s+1;
if (m==1) break;
}
if (m!=0) x=x+1;
if (s==p) {g<<x*5; break;}
else if (s>p) {g<<-1; break;}
}
}
else
{x=3000010/5;
s=750000;
for (i=3000015;i<=p*5;i=i+5)
{m=i;
while (m%5==0)
{m=m/5;
s=s+1;
if (m==1) break;
}
if (m!=0) x=x+1;
if (s==p) {g<<x*5; break;}
else if (s>p) {g<<-1; break;}
}
}
return 0;
}