Любое двухзначное число записывается в виде 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.
var s,s1:string; a:array[1..100] of string; n,i,j,k:byte; begin writeln('Введите текст из слов, разделенных пробелами'); readln(s); s:=' '+s+' '; n:=length(s); i:=2;k:=0;while i<=n do if (s[i]<>' ')and (s[i-1]=' ') then begin k:=k+1; j:=i; s1:=''; while (j<=n) and (s[j]<>' ') do begin s1:=s1+s[j]; j:=j+1; end; a[k]:=s1; i:=i+length(s1); end else i:=i+1; for i:=1 to k-1 do for j:=i+1 to k do if a[i]>a[j] then begin s1:=a[i]; a[i]:=a[j]; a[j]:=s1 end; writeln('Слова текста в алфавитном порядке:'); for i:=1 to k do writeln(a[i]); 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