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 1001 1111 1221 1331 1441
В идентификаторе 2 буквы и 8 цифр.
Мощность алфавита букв равна 18, для кодирования 1 буквы требуется 5 бит, т.к. 2^5=32 (четырёх бит недостаточно).
Для кодирования 1 цифры требуется 4 бита, т.к. всего 10 цифр, 2^4 = 16 (чего достаточно для хранения 10 цифр, в отличие от 3-х бит).
Объем одного пароля равен 2*5+8*4 = 10+32 = 42 бит
42 : 8 = 6 Байт (пяти байт недостаточно).
25 * 6 = 150 байт.
18>26 (нет) 18>10(да) а:=18*3=54 а:=54+10=64
ответ 64
сам думай
авеыапарашннннннннннним ракнше рнзшнрщгш миамк к мак а к ак км скам км к м км к м км к мк м к
<u>PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var s:=Abs(ReadInteger).ToString;
s.All(c->c=s[1]).Println
end.
<u>Примеры</u>
111211
False
2222
True
-33333
True