Pagini recente » Cod sursa (job #2667381) | Cod sursa (job #3127434) | Cod sursa (job #1893209) | Cod sursa (job #2635355) | Cod sursa (job #146826)
Cod sursa(job #146826)
#include<stdio.h>
#define N 10000
int n,p,x[N],v[N],i,j,nr,q1=0,q2=0,s1=0,s2=0;;
void rez(){
x[0]=1;
v[0]=5;
nr=0;
for(int i=0;x[i]<p;++i){
x[i+1]=x[i]+v[i];
v[i+1]=v[i]*5;
nr++;
}
}
void solv(){
int o=p;
i=nr;
while(o){
if(x[i]<=o)
s1+=((o/x[i])*v[i]);
o%=x[i--];
}
for(i=0;i<nr;++i)
q1+=s1/v[i];
i=nr;
o=p+1;
while(o){
if(x[i]<=o)
s2+=((o/x[i])*v[i]);
o%=x[i--];
}
for(i=0;i<nr;++i)
q2+=s2/v[i];
}
int main(){
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
if(p==0)
printf("1");
else
if(p==1)
printf("5");
else{
rez();
solv();
if(q1==q2)
printf("-1");
else
printf("%d\n",s1);
}
fclose(stdin);
fclose(stdout);
return 0;
}