мы должны определить минимальный и максимальный уровни
1 => pow (2,0) -> минимальный уровень
2-3 => pow (2,1) to pow (2,2) -1 -> максимальный уровень
4-7 => от Pow (2,2) до Pow (2,3) -1 -> минимальный уровень
8-15 => pow (2,3) to pow (2,4) -1 -> максимальный уровень
c реализация
#include<math.h>
#define bool int
#define true 1
#define false 0
int isMinLevel(int i,int n)//i is on min level or not
{
int h=2;
if(i==1)
return true;
while(true)
{
if(i>=pow(2,h)&&i<=pow(2,h+1)-1)
return true;
else if(i>n||i<pow(2,h))
return false;
h+=2;
}
}