Pagini recente » Cod sursa (job #551762) | Cod sursa (job #246163) | Cod sursa (job #1015105) | Cod sursa (job #2762937) | Cod sursa (job #218204)
Cod sursa(job #218204)
#include <stdio.h>
#define N 100000005
int nr5[20], pr5[20];
void precalcul()
{
pr5[1]=5;
nr5[1]=1;
for (int i=2; nr5[i-1]<=N; i++)
{
pr5[i]=5*pr5[i-1];
nr5[i]=pr5[i-1]+nr5[i-1];
}
}
int indice(int s)
{
int i;
for (i=1; i<20; i++)
{
if (nr5[i]<=s && nr5[i+1]>s)
return i;
}
return 0;
}
int calcul(int s)
{
int rez=0,i;
while(s)
{
i=indice(s);
rez+=s/nr5[i]*pr5[i];
s=s%nr5[i];
}
return rez;
}
int main()
{
int k;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
precalcul();
scanf("%d",&k);
int r1=calcul(k),r2=calcul(k+1);
if(r1==r2)
printf("-1\n");
else
printf("%d\n",r1);
return 0;
}