Задание 14. Информатика. ЕГЭ. Поляков-3668

Просмотры: 112
Изменено: 26 ноября 2024

Число \(1988\) записали в системах счисления с основаниями от \(2\) до \(10\) включительно. При каких основаниях в записи этого числа нет двух одинаковых цифр, стоящих рядом? В ответе укажите сумму всех подходящих оснований.

Решение:

Python


def is_two(n, p):
    s = []
    while n:
        s.append(n % p)
        n //= p
    return any(x == y for x, y in zip(s, s[1:]))

sum_p = 0
for p in range(2, 11):
    if not is_two(1988, p):
        sum_p += p
print(sum_p)

Ответ: \(22\)