Pagini recente » Cod sursa (job #2365870) | Istoria paginii runda/oni_check/clasament | Cod sursa (job #2361915) | Cod sursa (job #1104832) | Cod sursa (job #431215)
Cod sursa(job #431215)
#include <fstream>
using namespace std;
ifstream i_file("fact.in");
ofstream o_file("fact.out");
static int P, N=-1;
static int s;
static int p;
int Functie(int n)
{
s = 0;
p = n/5;
while(p>0)
{
s = s+p;
p=p/5;
}
return s;
}
static int median;
static int pivot;
void CautareBinara(int left, int right)
{
if(right !=left)
{
median = (left+right)/2;
pivot = Functie(median);
if(P<pivot)
{
CautareBinara(left, median);
}
else if(P==pivot)
{
N = median - median%5;
}
else CautareBinara((left+right)/2,right);
}
else
{
if(P==pivot)
{
N = median - median%5;
}
}
}
int main()
{
i_file>>P;
if(P==0)
{
o_file<<1;
return 0;
}
CautareBinara(0, 5*P);
o_file<<N;
return 0;
}