1 Один за всех, и все за одного.2 Один с сошкой'
===== PascalABC.NET =====
function sogl(c: char) :=
not (c.ToUpper in ('АЕЁИОУЫЭЮЯ'));
// проверка функции
begin
var s := 'ТестируемРусскийАлфавит';
foreach var c in s do
Print(sogl(c));
end.
На самом деле все это будет правильно работать лишь если функции давать исключительно русские буквы.
Логика такая:
1) Число 157 - это суммы 15 и 7 в порядке убывания, т.к. 1 и 57 не подойдут в виду условий задачи.
2) Пусть наименьшее число abc, тогда желательно b+c = 15, а a+b = 7.
Подберем: чтобы цифра b в нашем числе было наименьшей, цифра c должна взять на себя наибольшее значение -> 9. Тогда b = 6.
Итого: a69.
a будет 1, т.к. 1+6 = 7.
Таким числом является 169.
Проверим: 1+6 = 7. 6+9 = 15. В порядке убывания получается 157.
Решение в прикрепленном файле.