Для всех number ≥ 4 ответ False. При number ≥ 5 запись в системе number − 2 равна 12, а число 4 в двоичной системе равно 100.
Число‑палиндром во всех системах счисления от 2 до n‑2
Для всех number ≥ 4 ответ False. При number ≥ 5 запись в системе number − 2 равна 12, а число 4 в двоичной системе равно 100.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Дано целое число number. Говорят, что число является строго палиндромным, если его запись является палиндромом во всех системах счисления от 2 до number‑2 включительно. Палиндром — это последовательность цифр, одинаково читающаяся слева направо и справа налево. Требуется определить, удовлетворяет ли number этому условию. Функция должна вернуть true, если число строго палиндромное, и false в противном случае.
Пример 1:
-
Ввод: number = 9
-
Вывод: false
-
Пояснение:
- система 2: 9 → "1001" (палиндром)
- система 3: 9 → "100" (не палиндром)
- система 4: 9 → "21" (не палиндром)
- система 5: 9 → "14" (не палиндром)
- система 6: 9 → "13" (не палиндром)
- система 7: 9 → "12" (не палиндром) Поскольку в некоторых системах запись не является палиндромом, возвращаем false.
Пример 2:
-
Ввод: number = 4
-
Вывод: false
-
Пояснение:
- система 2: 4 → "100" (не палиндром)
- диапазон систем счисления: от 2 до 2 (number‑2 = 4‑2) Запись в единственной проверяемой системе не палиндромна, поэтому результат false.
Ответ
Для всех number ≥ 4 ответ False. При number ≥ 5 запись в системе number − 2 равна 12, а число 4 в двоичной системе равно 100.
Для n ≥ 5 основание b=n−2 не меньше 3, и n = 1·b + 2. Цифра 2 допустима в таком основании, поэтому запись — 12, не палиндром. Для оставшегося случая n=4 запись 100₂ также не подходит.
def is_strictly_palindromic(number):
if number < 0:
raise ValueError('Ожидалось неотрицательное число')
return number < 4
Здесь для чисел 0–3 принят буквальный смысл пустого диапазона оснований: условие выполнено автоматически. Если входной контракт ограничен number ≥ 4, функция просто возвращает False. Перебор всех оснований не требуется.