/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
public class Main {
public int Search(int[] a, int x) {
int low = 0;
int high = a.length - 1;
while (low <= high && !search) {
int mid = (low + high)/2;
if (a[mid] == x) {
search=true;
return mid;
}
else if (a[mid] < x) low = mid + 1;
else high = mid - 1;
}
return -1;
}
public static void main
(String[] args
) { Main bin = new Main();
int[] a ={ 2, 8,12,14,16,19,24,28,31,33,// 0-9
39,40,45,49,51,53,54,56,57,60,// 10-19
63,69,77,82,88,89,94,96,97}; // 20-28
Scanner input
= new Scanner
(System.
in); System.
out.
println("Enter the number you whould like to search !"); int n=input.nextInt();
int index=bin.Search(a,n);
if(index<0) { //-1 means that the element doesn't exist in the array
System.
out.
println("This number doesn't exist in the array "); } else {
System.
out.
println("The index of the number "+n
+" in the array is :"+ index
); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KcHVibGljIGNsYXNzIE1haW4gewogICAgIHB1YmxpYyBpbnQgU2VhcmNoKGludFtdIGEsIGludCB4KSB7CiAgICAgICAgIGludCBsb3cgPSAwOwogICAgICAgICBpbnQgaGlnaCA9IGEubGVuZ3RoIC0gMTsKICAgICAgICAgQm9vbGVhbiBzZWFyY2g9ZmFsc2U7CiAgICAgICAgIHdoaWxlIChsb3cgPD0gaGlnaCAmJiAhc2VhcmNoKSB7CiAgICAgICAgICAgIGludCBtaWQgPSAobG93ICsgaGlnaCkvMjsKICAgICAgICAgICAgaWYgKGFbbWlkXSA9PSB4KSB7CiAgICAgICAgICAgICAgICBzZWFyY2g9dHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiBtaWQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoYVttaWRdIDwgeCkgbG93ID0gbWlkICsgMTsKICAgICAgICAgICAgZWxzZSBoaWdoID0gbWlkIC0gMTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQoKCiAgICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgICAgTWFpbiBiaW4gPSBuZXcgTWFpbigpOwogICAgICAgICAgaW50W10gYSA9eyAyLCA4LDEyLDE0LDE2LDE5LDI0LDI4LDMxLDMzLC8vIDAtOQogICAgICAgICAgICAgMzksNDAsNDUsNDksNTEsNTMsNTQsNTYsNTcsNjAsLy8gMTAtMTkKICAgICAgICAgICAgIDYzLDY5LDc3LDgyLDg4LDg5LDk0LDk2LDk3fTsgIC8vIDIwLTI4CiAgICAgICAgICBTY2FubmVyIGlucHV0ID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRW50ZXIgdGhlIG51bWJlciB5b3Ugd2hvdWxkIGxpa2UgdG8gc2VhcmNoICEiKTsKICAgICAgICAgICAgIGludCBuPWlucHV0Lm5leHRJbnQoKTsKICAgICAgICAgICAgIGludCBpbmRleD1iaW4uU2VhcmNoKGEsbik7CiAgICAgICAgICAgICBpZihpbmRleDwwKSB7IC8vLTEgbWVhbnMgdGhhdCB0aGUgZWxlbWVudCBkb2Vzbid0IGV4aXN0IGluIHRoZSBhcnJheSAKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhpcyBudW1iZXIgZG9lc24ndCBleGlzdCBpbiB0aGUgYXJyYXkgIik7IAogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhlIGluZGV4IG9mIHRoZSBudW1iZXIgIituKyIgaW4gdGhlIGFycmF5IGlzIDoiKyBpbmRleCk7CiAgICAgICAgICAgICB9CgogICAgIH0KfQ==