Cod sursa(job #523466)
Utilizator | Data | 18 ianuarie 2011 08:53:44 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 5.08 kb |
#include <cstdio>
int main()
{
freopen ("fact.in","r",stdin);
freopen ("fact.out","w",stdout);
int p,x=0,i=0,aux;
scanf ("%d",&p);
if (p<50000000)
if (p<5000000)
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
else
if (p<10000000)
{
i=4999999;
x=20000000;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<15000000)
{
i=9999999;
x=40000005;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<20000000)
{
i=14999999;
x=60000005;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<25000000)
{
i=19999999;
x=80000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<30000000)
{
i=24999999;
x=100000000;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<35000000)
{
i=29999999;
x=120000005;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<40000000)
{
i=34999999;
x=140000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<45000000)
{
i=39999999;
x=160000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
{
i=44999999;
x=180000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<55000000)
{
i=49999999;
x=200000005;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<60000000)
{
i=54999999;
x=220000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<65000000)
{
i=59999999;
x=240000015;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<70000000)
{
i=64999999;
x=260000005;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<75000000)
{
i=69999999;
x=280000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<80000000)
{
i=74999999;
x=300000005;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<85000000)
{
i=79999999;
x=320000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<90000000)
{
i=84999999;
x=340000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
if (p<95000000)
{
i=89999999;
x=360000010;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
else
{
i=94999999;
x=380000015;
while (i<p)
{
x+=5;
aux=x;
while (aux%5==0)
{
aux/=5;
i++;
}
}
}
if (i>p)
printf ("-1 \n");
else
if (p==0)
printf ("1 \n");
else
printf ("%d \n",x);
}