Pagini recente » Cod sursa (job #1509082) | Cod sursa (job #1005365) | Cod sursa (job #3256499) | Cod sursa (job #2504283) | Cod sursa (job #222919)
Cod sursa(job #222919)
#include<stdio.h>
#define MAX 100000000
int a[20],b[20];
void precalcul()
{
a[1]=5;
b[1]=1;
for(int i=2;b[i-1]<=MAX;++i)
{
a[i]=5*a[i-1];
b[i]=a[i-1]+b[i-1];
}
}
int caut(int n)
{
int i=1;
while(b[i]<=n)
++i;
return i-1;
}
int calcul(int p)
{
int s=0,poz=0;
while(p)
{
poz=caut(p);
s+=p/b[poz]*a[poz];
p%=b[poz];
}
return s;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int p=0,zero=0,unu;
precalcul();
scanf("%d",&p);
if(p==0)
{
printf("1");
return 0;
}
zero=calcul(p);
unu=calcul(p+1);
if(zero==unu)
printf("-1");
else
printf("%d",zero);
return 0;
}