二分查找

#include<stdio.h>
int b[10]={1,1,2,3,3,5,6,6,7,9},a;
int  s(int m,int n)
{
 int z;
 if(m<=n)
 {
  z=(m+n)/2;
  if(b[z]==a) return z;
  if(a<b[z]) return s(m,z-1);
  else return s(z+1,n);
 }
 return 0;
}
int main()
{
 int x=0,y=9;
 scanf("%d",&a);
 if(s(x,y)==0)printf("N");
 else
 printf("%d",s(x,y));
 return 0;
}

posted @ 2016-07-07 20:46  岗寒  阅读(88)  评论(0编辑  收藏  举报