Определите чётность обоих чисел через остаток от деления на 2. Для двух чётных верните произведение, для двух нечётных сумму, иначе — нечётный аргумент.
Обработка парных и непарных чисел
Определите чётность обоих чисел через остаток от деления на 2. Для двух чётных верните произведение, для двух нечётных сумму, иначе — нечётный аргумент.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Функция принимает два целых числа a и b.
- Если оба числа чётные, функция возвращает их произведение.
- Если оба числа нечётные, функция возвращает их сумму.
- Если одно число чётное, а другое нечётное, функция возвращает нечётное число.
Ответ
Определите чётность обоих чисел через остаток от деления на 2. Для двух чётных верните произведение, для двух нечётных сумму, иначе — нечётный аргумент.
function combine(a, b) {
if (!Number.isInteger(a) || !Number.isInteger(b)) throw new TypeError('Нужны целые числа');
const evenA = a % 2 === 0, evenB = b % 2 === 0;
if (evenA && evenB) return a * b;
if (!evenA && !evenB) return a + b;
return evenA ? b : a;
}
Проверка нечётности через !== 0 работает и для отрицательных значений; сравнение остатка с 1 их пропустило бы. Ноль считается чётным. Для больших целых вне точности Number следует выбрать BigInt и соответствующие литералы.