Pagini recente » Cod sursa (job #1267497) | Cod sursa (job #892134) | Cod sursa (job #270845) | Cod sursa (job #1438161) | Cod sursa (job #84049)
Cod sursa(job #84049)
//sare din timp
#include<cstdlib>
#include<string>
long long pow5(int x);
const long long MAXSIZE=20000001;
char fiveFlags[MAXSIZE];
long long n;
long long aux,add,t;
long long i,j,x;
int int_i;
int main(){
freopen("fact.in","r",stdin);freopen("fact.out","w",stdout);
scanf("%lld",&n);
t=1;int_i=1;x=1;
while(t<=n)
{
while(t*x<=n)
{
fiveFlags[t*x]=int_i;
x++;
}
int_i++;t*=5;x=1;
}
//for(i=0;i<200;i++)printf("%d\n",fiveFlags[i]);
i=0;j=1;add=0;
while(i+add<n)
{
i+=5;add+=fiveFlags[j];j++;
}
j--;
/*printf("%d %d\n",i,add);*/if(i+add==n){printf("%lld",i*5);return 0;}
/*printf("%d\n",i+add-fiveFlags[j]-1);*/if(i+add-fiveFlags[j]-1==n){printf("%lld",(i-1)*5);return 0;}
/*printf("%d\n",i+add-fiveFlags[j]-2);*/if(i+add-fiveFlags[j]-2==n){printf("%lld",(i-2)*5);return 0;}
/*printf("%d\n",i+add-fiveFlags[j]-3);*/if(i+add-fiveFlags[j]-3==n){printf("%lld",(i-3)*5);return 0;}
/*printf("%d\n",i+add-fiveFlags[j]-4);*/if(i+add-fiveFlags[j]-4==n){printf("%lld",(i-4)*5);return 0;}
printf("%lld\n",-1);
return 0;
}