505.py

Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам. Перемножаются первая и вторая, а также вторая и третья цифры исходного числа. Полученные два числа записываются друг за другом в порядке неубывания (без разделителей). Пример. Исходное число: 631. Произведения: 6 * 3 = 18; 3 * 1 = 3. Результат: 318. Укажите наименьшее число, при обработке которого автомат выдаст число 621.
"""
Автомат получает на вход трёхзначное число.
По этому числу строится новое число по следующим правилам.

    Перемножаются первая и вторая, а также вторая и третья цифры исходного числа.
    Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).

Пример. Исходное число: 631.
Произведения: 6 * 3 = 18; 3 * 1 = 3.
Результат: 318.

Укажите наименьшее число, при обработке которого автомат выдаст число 621.
"""

for N in range(100, 1000):
    a = N // 100        # первая цифра
    b = N // 10 % 10    # вторая цифра
    c = N % 10          # третья цифра

    p1 = a * b
    p2 = b * c

    R = str(min(p1, p2)) + str(max(p1, p2))

    if R == "621":
        print(N) 
        break
"""
Автомат получает на вход трёхзначное число.
По этому числу строится новое число по следующим правилам.

    Перемножаются первая и вторая, а также вторая и третья цифры исходного числа.
    Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).

Пример. Исходное число: 631.
Произведения: 6 * 3 = 18; 3 * 1 = 3.
Результат: 318.

Укажите наименьшее число, при обработке которого автомат выдаст число 621.
"""

for N in range(100, 1000):
    a = N // 100        # первая цифра
    b = N // 10 % 10    # вторая цифра
    c = N % 10          # третья цифра

    p1 = a * b
    p2 = b * c

    R = str(min(p1, p2)) + str(max(p1, p2))

    if R == "621":
        print(N) 
        break

Репозиторий на GitHub