Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 25. Информатика. ЕГЭ. Поляков-5763
- Просмотры: 157
- Изменено: 1 апреля 2026
*(Д. Статный) Найдите все натуральные числа, принадлежащие отрезку \([10~000~000; \, 60~000~000],\) у которых количество делителей – простое число. В ответе запишите первые \(7\) чисел с наибольшим количеством делителей, справа от каждого числа запишите количество его делителей. Отсортируйте числа по убыванию количества делителей, а числа с одинаковым количеством делителей – по возрастанию самих чисел.
Решение:
Python
from math import isqrt
def is_prime(n):
if n <= 2:
return 2
if n & 1 == 0:
return False
for x in range(3, isqrt(n) + 1, 2):
if n % x == 0:
return False
return True
primes = [x for x in range(2, 100) if is_prime(x)]
nums = []
for n in primes:
for p in primes:
cand = n ** (p - 1)
if 10**7 <= cand <= 6 * 10**7:
nums.append((p, cand))
nums.sort(key=lambda x: (x[0], -x[1]), reverse=True)
for d, n in nums[:7]:
print(n, d)
Ответ:
\(43046721 \,\, 17\)
\(24137569 \,\, 7\)
\(47045881 \,\, 7\)
\(12117361 \,\, 5\)
\(13845841 \,\, 5\)
\(20151121 \,\, 5\)
\(25411681 \,\, 5\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


