Определить, чётно ли целое число. Операторы деления и остатка (/, %, /=,
%=) и функции вроде math.Mod использовать нельзя — тесты проверяют это по
исходному коду решения.
// IsEven сообщает, чётно ли n. Без / и %.
func IsEven(n int) bool
Примеры
IsEven(4) → true
IsEven(7) → false
IsEven(0) → true
IsEven(-3) → false
Ограничения
n — любое значение int (64 бита), включая отрицательные и math.MinInt.
- O(1) по времени: цикл «вычитаем 2, пока не дойдём до 0 или 1» на
10¹⁸ не
завершится.
Устно: почему этот приём работает и для отрицательных чисел?
Разбор и эталонное решение — после своей попытки: на собеседовании подсказок не будет.
Сначала попробуй сам — подсказки не дают готовый ответ.