Pagini recente » Cod sursa (job #2871618) | Cod sursa (job #2864880) | Cod sursa (job #2760544) | Cod sursa (job #973709) | Cod sursa (job #1515367)
#include<fstream>
#include<cmath>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long int cautare(unsigned long long int val);
unsigned long long int a[1000001],p,k=25,nr=0,i,x;
int main()
{
fin>>p;
a[1]=1;
for(i=2;i<=900001;i++)
{
if(i*5!=k)
{
a[i]=a[i-1]+1;
}
else
{
a[i]=a[i-1]+2;
k=k*5;
}
}
x=cautare(p)-1;
if(a[x]==p)
{
fout<<x*5;
}
else
{
fout<<-1;
}
}
unsigned long long int cautare(unsigned long long int val)
{
unsigned long long int st=1,dr=900001,mij;
while(st<=dr)
{
mij=(st+dr)/2;
if(a[mij]>val)
dr=mij-1;
else
st=mij+1;
}
return st;
}