猜数字这样的游戏常常会用到二分法,别人预先确定了一个100以内数字看你多少次能猜中,一般来说,我们会先猜50,这样可以将猜测的范围减少一半。
int[] num=new int[]{2,4,6,8,10,12,14,16,18,20}; int snum=14; int start=0; int end=num.length-1; int index=-1; while(start<=end){ int i=(start+end)/2; if(snum<num[i]){ end=i-1; }else if(snum>num[i]){ start=i+1; }else{ index=i; break; } } System.out.println(index);