Найдите все натуральные числа, принадлежащие интервалу [10⁸; 2 · 10⁸]
Условие
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «». Символ «?» означает ровно одну произвольную цифру, символ «» означает произвольную (в том числе пустую) последовательность цифр. Например, маске 123*4?5 соответствуют числа 123405 и 12376415. Найдите все натуральные числа, принадлежащие интервалу [10⁸; 2 · 10⁸], которые соответствуют маске ?4281 и имеют ровно три натуральных делителя. В ответе запишите все найденные числа в порядке возрастания.
Ответ:
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python. def F(n): deliteli = set() for i in range(2, int(n0.5)+1): if n%i == 0: deliteli|={i, n//i} return deliteli from fnmatch import *for x in range (108, 2*10**8+1): if fnmatch(str(x),'?4281'): if len(F(x)) == 1: print(x)
Осталось ещё 1 шаг
Приведём решение Юрия Красильникова на языке…
Бесплатно · займёт минуту