Pagini recente » Cod sursa (job #570594) | Cod sursa (job #238647) | Cod sursa (job #748175) | Cod sursa (job #2874824) | Cod sursa (job #314307)
Cod sursa(job #314307)
#include<stdio.h>
#include<math.h>
//#include<conio.h>
int put(int x)
{
int k=0;
while(x%5==0) { ++k; x/=5; }
return k;
}
int main()
{
//clrscr();
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int ok=1,t,r,p,i,t1,t2,k1,k2=0,k;
scanf("%d",&p);
if(p==0) { printf("1"); return 0; }
for(i=1; k2<p; ++i)
{
k2=(pow(5,i)-1)/4;
t2=pow(5,i);
}
if(k2==p) printf("%d",t2);
else
{
t1=t2/5;
k1=(pow(5,put(t1))-1)/4;
if(p>(k1+k2)/2)
{
k=t2+5;
while(k2>=p)
{
k-=5; t=k;
while(t%5==0 && k2>=p) t/=5, --k2;
if(k2<p) { printf("-1"); return 0; }
}
}
else
{
k=t1;
while(k1<p) { k+=5; k1+=put(k); }
}
}
printf("%d",k);
return 0;
}