Число Керзона

Если 2^N+1 без остатка делится на 2*N+1, то число N считается числом Керзона.

Реализуйте функцию, которая будет принимать целое число num и возвращать
True, если num — число Керзона, и False — если нет.

Примеры:

is_curzon(5) ➞ True
2 ** 5 + 1 = 33
2 * 5 + 1 = 11
33 кратно 11

is_curzon(10) ➞ False
2 ** 10 + 1 = 1025
2 * 10 + 1 = 21
1025 не кратно 21

is_curzon(14) ➞ True
2 ** 14 + 1 = 16385
2 * 14 + 1 = 29
16385 кратно 29

Решение:

def is_curzon(n):
    return not (2**n + 1) % (2*n + 1)
def is_curzon(num):
    return (2**num + 1) % (2*num + 1) == 0
python books logo

Английский для программистов

Наш телеграм канал с тестами по английскому языку для программистов. Английский это часть карьеры программиста. Поэтому полезно заняться им уже сейчас

×