Заполнить массив случайными числами и отсортировать его. Ввести число Х. Используя двоичный поиск, определить, есть ли в массиве число, равное Х. Подсчитать количество сравнений. Пример: Массив: 147392452 После сортировки: 122344579 Введите число Х: 2 Число 2 найдено. Количество сравнений: 2
const randomArray = [];
const arrayLength = 10;
const maxNumber = 100;
// Заполнение массива случайными числами
for (let i = 0; i < arrayLength; i++) {
randomArray.push(Math.floor(Math.random() * maxNumber));
}
// Сортировка массива
randomArray.sort((a, b) => a - b);
console.log('Массив:', randomArray);
// Двоичный поиск
let x = 2;
let comparisons = 0;
let found = false;
let low = 0;
let high = randomArray.length - 1;
while (low <= high) {
let mid = Math.floor((low + high) / 2);
comparisons++;
if (randomArray[mid] === x) {
found = true;
break;
} else if (randomArray[mid] < x) {
low = mid + 1;
} else {
high = mid - 1;
}
}
if (found) {
console.log(Число ${x} найдено.);
} else {
console.log(Число ${x} не найдено.);
}
console.log('Количество сравнений:', comparisons);