#include <stdio.h>

int binsearch(int list[], int searchnum, int left, int right)
{
   /*searchnum에 대해 list[0]<=list[1]<=...<=list[n-1]을 탐색.찾으면
   그 위치를 반환하고 못찾으면 -1을 반환한다.*/
    int mid;
    mid=(left+right)/2;
    if(right<=left){   
        return -1;
    }else if(searchnum < list[mid]){
        return binsearch(list,searchnum,left,mid-1);
    }else if(searchnum>list[mid]){
        return binsearch(list,searchnum,mid+1,right);
    }else {
        return mid;
    }
}

/****** main program ******/

int main()
{
   int data[16] = { 12,23,25,34,45,46,57,58,69,72,75,82,86,89,97,99 };
   int found;

   found = binsearch( data, 34, 0, 15 ); /* 34를 찾는다 */

   if (found == -1) { printf(" Not Found n"); }
   else { printf("* It's at %d !n", found); }
}