Var s,i:integer;
begin
write('s = ');
readln(s);
for i:=100 to 999 do
if (i div 100 + i div 10 mod 10 + i mod 10 < s)
then write(i,' ');
end.
Пример:
<span>s = 5
100 101 102 103 110 111 112 120 121 130 200 201 202 210 211 220 300 301 310 400 </span>
#incluide
void main( )
{
int a,b;//описание переменных
scant("%d%d",b);&//ввод
printf("a=%d b=%d",a,b)//вывод
}
Решение с помощью таблицы приведено во вложении.
Числами обозначены клетки, состояние которых определено в высказывании под соответствующим числу номером. Красный фон - отрицательный результат, зеленый - положительный.
Полезно нарисовать пустую таблицу и заполнять её, ставя знак "минус" (или записывая "нет") вместо красного фона и знак "плюс" ("да") вместо зеленого.
1-2
2-1
3-5
4-3
5-4
Цифры по порядку вместе с масками