Pagini recente » Cod sursa (job #2729290) | Cod sursa (job #589647) | Cod sursa (job #19318) | Cod sursa (job #1244662) | Cod sursa (job #84047)
Cod sursa(job #84047)
#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<=MAXSIZE)
{
while(t*x<=MAXSIZE)
{
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;
}