var
i, a, b, n, n2, j: longint;
s: string;
flag: boolean;
begin
Write('Введите через пробел границы диапазона: ');
Readln(a, b);
if b < a then begin n := a; a := b; b := n end;
if a < 11 then a := 11;
for i := a to b do
begin
Str(i, s);
n := Length(s); n2 := n div 2; flag := true; j := 1;
repeat
flag := (s[j] = s[n - j + 1]);
j := j + 1
until (not flag) or (j > n2);
if flag then Write(i, ' ')
end;
end.
Тестовое решение:
Введите через пробел границы диапазона: 800 1500
808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999
Объяснение:
Истина = 1, ложь = 0
значит А=1, В=0, С=1
а) 1+0×1 будет 1
b) 0 + 0 (не С, С у нас 1, значит оно будет равно 0) =0
c) 0+1×1 = 1
d) не ( 1×0) + (В импликация 1 + не 1) = 1 + 1 + 0 = 1