Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются отдельно первая и вторая цифры, а также вторая и третья цифры.
2. Полученные два числа записываются друг за другом в порядке неубывания без разделителей.
Пример. Исходное число: 872. Суммы: 8 + 7 = 15; 7 + 2 = 9. Результат: 915.
Укажите наименьшее число, при обработке которого автомат выдаёт
Понятно, что 812 — это
Примечание. Число не может начинаться с нуля.
Ответ: 175.
Приведём другое решение на языке Python.
for i in range(100, 1000):
s = str(i)
k1 = int(s[0]) + int(s[1])
k2 = int(s[1]) + int(s[2])
first = str(min(k1, k2))
second = str(max(k1, k2))
s1 = first + second
if s1 == '812':
print(i)
break
Приведём решение Сергея Донец на PascalABC.NET:
uses School;
begin
var tt := 812;
for var i := 100 to 999 do begin
var (a, b, c) := i.Digits; // сотни, десятки, единицы
var (s1, s2) := (a + b, b + c);
var res := s1 < s2 ? s1.ToString+s2 : s2.ToString+s1;
if res.ToInteger = tt then begin
Print(i);
break;
end;
end;
end.

