Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Найдите первые пять чисел, больших 500 000, сумма делителей которых соответствует маске *7?. Найденные числа выведите в порядке возрастания, справа от каждого запишите найденную сумму делителей.
273.
Тренировочный вариант 02.06.2023 Евгений Джобс – задание №25
Решение:
|
1 2 3 4 |
from fnmatch import * for i in range(0, 10**8, 273): if fnmatch(str(i), "12??36*1"): print(i, i//273) |
Ответ:
500001 666672
500048 968874
500069 500070
500079 666776
500114 750174
