Pagini recente » Cod sursa (job #44765) | Cod sursa (job #177716) | Cod sursa (job #917418) | Cod sursa (job #1888799) | Cod sursa (job #1515466)
#include<fstream>
#include<cmath>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long int cautbin(unsigned long long int val);
unsigned long long int a[10000001],p,k=25,i,m=1,t=0,x=0,aux;
int main()
{
fin>>p;
a[1]=1;
for(i=2;i<=10000000;i++)
{
t=0;
aux=i;
while(aux!=0)
{
if(aux%5==0)
{
t++;
}
else{
break;
}
aux=aux/5;
}
a[i]=a[i-1]+1+t;
}
x=cautbin(p);
if(a[x]==p)
{
fout<<x*5;
}
else
{
fout<<-1;
}
}
unsigned long long int cautbin(unsigned long long int val)
{
unsigned long long int step=100000000, start = 0;
for(;step;step>>=1)
{
int index=step+start;
if(index>10000000) continue;
if(a[index]<=val)
start=index;
}
return start;
}