Задание №25: Обработка целочисленной информации и маски
Основные типы и прототипы задания №25:
Маски чисел (* и ?)
Делители натуральных чисел
Поиск чисел с особыми свойствами делителей
Условие задания
(И. Женецкий) Назовём J-простым число, которое отличается не более, чем на 5, от числа, являющегося степенью двойки. Например, 11 является J-простым числом, т.к. оно простое и от отличается на 3 от числа 8 = 23 (и на 5 от числа 16 = 24). Найдите все J-простые числа в диапазоне [99999; 1048571] и выведите их в порядке возрастания. Справа от каждого числа выведите ближайшее число, которое является степенью двойки.
Ответ:
131071 131072<br/>262139 262144<br/>262147 262144<br/>524287 524288<br/>1048571 1048576
Шаблон решения на Python
# === Задание 25: Маски чисел и делители ===
from fnmatch import fnmatch
ans = []
for n in range(10**7, 10**8):
if fnmatch(str(n), "12*34?5"):
if n % 2024 == 0:
print(n, n // 2024)