Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также вторая и третья цифры исходного числа.
2. Полученные два числа записываются друг за другом в порядке невозрастания (без разделителей).
Пример. Исходное число: 249. Суммы: 2 + 4 = 6; 4 + 9 = 13. Результат: 136.
Укажите наименьшее число, в результате обработки которого автомат выдаст число 1212.
Решение аналитически:
Максимальное значение, которое можно получить при сложении двух цифр, — 18. Поэтому разобьем результат работы алгоритма на числа, не превышающие 18: 12|12.
Теперь подберем наиболее выгодное для нас разложение числа 12. Наша задача подобрать такое разложение, чтобы одно из чисел в сумме было минимальным:
— такое разложение для данного алгоритма невозможно, так как максимальная цифра — 9.
— такое разложение для данного алгоритма невозможно, так как максимальная цифра — 9.
— самое выгодное для нас разложение числа 12. В остальных случаях мы не сможем получить минимальное число.
Поскольку в результате работы алгоритма нам необходимо получить 1212, поставим 9 в середину трёхзначного числа, а 3 в первый и последний разряды. Получаем ответ — 393.
Проверим его: ,
. Записываем результат в порядке невозраcтания — 1212.
Решение программой:
for x in range(10 ** 2, 10 ** 3):
s = str(x)
x1 = int(s[0]) + int(s[1])
x2 = int(s[1]) + int(s[2])
if str(min(x1, x2)) + str(max(x1, x2)) == ’1212’:
print(x)
break