整数二分算法

Mask2024 / 2024-03-20 / 原文

#include <iostream>
using namespace std;

int __data[200];

int halfIntervalSearch(const int n)
{
  int r,l,h = 0;
  l = 0;
  r = 200;
  h = (r+l)/2;
  while(__data[h]!=n)
  {
    if(__data[h]>n)
	{
      r = h;
      h = (l+r)/2;
    }else{
      l = h;
      h = (l+r)/2;
    }
  }
  return h;
}
int main()
{
  
  // 生成数组
  for(int i = 0; i < 200 ; i++){
    __data[i] = 4 * i + 6;
  }
  // 查到代码
  int n=0;
  cin >> n;
  cout << halfIntervalSearch(n);
  return 0;
}