Pagini recente » Cod sursa (job #1830579) | Cod sursa (job #1197648) | Cod sursa (job #2224999) | Cod sursa (job #1324570) | Cod sursa (job #229101)
Cod sursa(job #229101)
#include<stdio.h>
int a[21],b[21];
void init()
{
a[1]=5;
b[1]=1;
for(int i=2;a[i-1]<=200000000;++i)
{
a[i]=5*a[i-1];
b[i]=a[i-1]+b[i-1];
}
}
int main()
{
int cp,p,i;
long long sum=0,aux=0;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
if(p)
{
init();
cp=p+1;
while(p)
{
for(i=12;i>=1;--i)
if(b[i]<=p)
{
sum+=p/b[i]*a[i];
p=p%b[i];
}
for(i=12;i>=1;--i)
if(b[i]<=cp)
{
aux+=cp/b[i]*a[i];
cp=cp%b[i];
}
}
if(sum!=aux)
printf("%lld",sum);
else
printf("-1");
}
else
printf("1");
return 0;
}