function generateNumberPairs(min, max, count) {
if (max - min + 1 < count * 2) {
console.error('Невозможно создать запрошенное количество пар без повторений в данном диапазоне.');
return [];
}
const numbers = [];
const pairs = [];
// Создаем массив чисел в заданном диапазоне
for (let i = min; i <= max; i++) {
numbers.push(i);
}
// Перемешиваем массив случайным образом
for (let i = numbers.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[numbers[i], numbers[j]] = [numbers[j], numbers[i]];
}
// Формируем пары чисел
for (let i = 0; i < count; i++) {
const pair = [numbers[i * 2], numbers[i * 2 + 1]];
pairs.push(pair);
}
return pairs;
}
// Пример использования
const pairs = generateNumberPairs(10, 30, 10);
console.log(pairs);
В этом примере функция
generateNumberPairs
принимает минимальное значение min, максимальное значение max и количество пар чисел count, которое нужно сгенерировать. Если заданный диапазон недостаточно широк для создания запрошенного количества пар без повторений, функция выведет сообщение об ошибке и вернет пустой массив.