28 мая 2025 г.

Программирование. Задание № 25 "Маски"

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300425.
Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 4*4736*1 и делятся на 7993 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 7993.

Решение: напишем программу на языке Phyton
for i in range(55,1252095):
    a = i*7993
    s = str(a)
    if s[0] =='4' and s.find('4736') > 0 and s[-1] =='1':
        print(a,i)

Вывод:
44736821 5597
4064736241 508537
4303247361 538377
4347368721 543897
4447361151 556407
4473658121 559697
4794736931 599867

Ответ:
44736821 5597
4064736241 508537
4303247361 538377
4347368721 543897
4447361151 556407
4473658121 559697
4794736931 599867

Комментариев нет:

Отправить комментарий