Присоединиться

Информатика·Обработка целочисленной информации·11 класс

4 501 347 296, в порядке возрастания и ищет среди них числа

Условие

Напишите программу, которая перебирает целые числа, большие 4 501 347 296, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых содержит ровно один раз в своей записи последовательность цифр «53».В ответе запишите в первом столбце таблице первые пять найденных чисел в порядке возрастания, во втором столбце — для каждого из них наименьший найденный множитель для каждого из них.Количество строк в таблице для ответа избыточно.Ответ:

Ответ

450135110953450136700953450137114353450138220950153450138290953

Решение по шагам

  1. Как рассуждать

    Решение. ##Приведём решение на языке Python.def f(x): for i in range(2, int(x**0.5)+1): if x%i==0: return [i]+f(x//i) return [x] count = 0for x in range(4_501_347_297, 4_600_000_000): d = f(x) if len(d) == 2: # Извлекаем каждый из двух множителей отдельно p1, p2 = d[0], d[1] # Проверяем каждый строго изолированно if str(p1).count('53') == 1 and str(p2).count('53') == 1: print(x, min(d)) count += 1 if count == 5: break

Осталось ещё 1 шаг — откроются после входа:

  • Полный разбор с проверкой ответа
Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка целочисленной информации»