Число‑палиндром во всех системах счисления от 2 до n‑2

Для всех number ≥ 4 ответ False. При number ≥ 5 запись в системе number − 2 равна 12, а число 4 в двоичной системе равно 100.

Короткий ответ

Что ответить на собеседовании

Для всех 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. Перебор всех оснований не требуется.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее