Любое двухзначное число записывается в виде 10*a+b, где а - число десятков (старшая цифра), b - число единиц (младшая цифра). Тогда условие будет иметь вид: (a+b=n) или (a=n) или (b=n), где а меняется от 1 до 9, b меняется от 0 до 9.
var n, a, b: integer;
begin Write('Введите число n -> '); Readln(n); for a := 1 to 9 do for b := 0 to 9 do if (a + b = n) or (a = n) or (b = n) then Write(a, b, ' '); Writeln end.
Тогда условие будет иметь вид: (a+b=n) или (a=n) или (b=n), где а меняется от 1 до 9, b меняется от 0 до 9.
var
n, a, b: integer;
begin
Write('Введите число n -> '); Readln(n);
for a := 1 to 9 do
for b := 0 to 9 do
if (a + b = n) or (a = n) or (b = n) then Write(a, b, ' ');
Writeln
end.
Тестовое решение:
Введите число n -> 7
16 17 25 27 34 37 43 47 52 57 61 67 70 71 72 73 74 75 76 77 78 79 87 97