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

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

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

Решение:

Python


def conv(n, p):
    s = ''
    while n:
        s = str(n % p) + s
        n //= p
    return s

def is_prime(n):
    if n == 2 or n == 3:
        return True
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

q = 0
for p in range(2, 11):
    d = conv(437, p)
    if is_prime(sum(int(x) for x in d)):
        q += p
print(q)

Ответ: \(33\)