Pagini recente » Cod sursa (job #126317) | Cod sursa (job #1819945) | Cod sursa (job #1523727) | Cod sursa (job #713004) | Cod sursa (job #257075)
Cod sursa(job #257075)
#include<iostream.h>
#include<stdio.h>
int main()
{
unsigned long long mid,hi,lo;long int putere,p,nrz,factor;
freopen("fact.in","r",stdin);freopen("fact.out","w",stdout);
scanf("%ld",&p);
lo=0;hi=18000000000000000000;
while(lo<=hi)
{mid=lo+(hi-lo)/2;nrz=0;factor=5;
do
{putere=mid/factor;nrz+=putere;factor*=5;}
while(putere);
if(nrz<p)
lo=mid+1;
else {if(nrz>p)
hi=mid-1;
else
{while(mid>1 && nrz==p)
{mid--;nrz=0;factor=5;
do
{putere=mid/factor;nrz+=putere;factor*=5;}
while(putere);}
if(nrz!=p)
printf("%ld",(mid+1));
else
printf("1");
return 0;}}
}
printf("-1");return 0;
fclose(stdin);fclose(stdout);
}