Напишите программу, которая перебирает целые числа, большие 1 324 727, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых содержит в своей записи ровно одну цифру 5.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце — для каждого из чисел наибольший из соответствующих им найденных множителей.
Количество строк в таблице для ответа избыточно.
Основная волна 10.06.2025 ЕГЭ по информатике – задание №25
Решение:
Решение на Python
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
def div(x): d = set() for i in range(2, int(x**0.5)+1): if x % i == 0: d.add(i) d.add(x//i) return sorted(d) def p(x): for i in range(2, int(x**0.5)+1): if x % i == 0: return False return True k=0 for x in range(1_324_728, 1_500_000): if k==5: break d = [i for i in div(x) if p(i)] if len(d)==2 and d[0]*d[1]==x and str(d[0]).count('5')==1 and\ str(d[1]).count('5')==1: print(x, max(d)) k+=1 if len(d)==1 and d[0]**2==x and str(d[0]).count('5')==1: print(x, max(d)) k+=1 |
Ответ:
1324795 264959
1324801 1151
1324903 2543
1325015 265003
1325029 5279
