Pagini recente » Cod sursa (job #651910) | Borderou de evaluare (job #3182075) | Cod sursa (job #1970368) | Borderou de evaluare (job #2388051) | Cod sursa (job #905207)
Cod sursa(job #905207)
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long put5[25];
unsigned long long v[25];
unsigned long long p;
int cautare_binara(unsigned long long v[], int st,int dr)
{
if(st==dr)
return 0;
int mij=(st+dr)/2;
if(v[mij]==p)
return mij;
else
if(v[mij]>=p)
return cautare_binara(v,st,mij);
else
return cautare_binara(v,mij+1,dr);
}
int main()
{
put5[1]=1;
for(int i=2;i<=24;i++)
{
put5[i]=put5[i-1]*5;
}
v[1]=1;
for(int i=2;i<=24;i++)
{
v[i]=v[i-1]+put5[i];
}
f>>p;
int gasit=0;
gasit=cautare_binara(put5,1,25);
if(gasit)
g<<"-1\n";
else
{
gasit=cautare_binara(v,1,25);
}
return 0;
}