Такие задачи лучше всего(проще и быстрее) решать через 16-ричную систему.
Гляди
123 = 7Bh = 0111 1011b = 001 111 011b = 173(8)
147 = 93h = 1001 0011b = 010 010 011b = 223(8)
Ну и так далее, всё просто! А для перевода 10->16 пользуйся стандартным алгоритмом, то есть последовательно дели на 16.
Например
123/16 = 7 (ост 11), значит 123 = 7Bh (Цифра B - это 11 в 10-тичной системе).
Var a:string; i,d:integer;
Begin
Readln (a);
d:=length (a);
For i:=1 to d do
If a[i]='A' then a[i]:='B';
Writeln (a);
end.
Извини что без комментов,но надеюсь разберешься в коде!
program numbers;
var x, y: integer;
begin
writeln('Введите число.');
read(x);
if (x mod 10)=(x div 10) then write('Цифры одинаковые') else write('Цифры разные');
end.
Var n:integer;
x:real;
begin
n:=0;
x:=300000;
while x<550500 do
begin
x:=x+0.11*x;
n:=n+1;
end;
writeln(n);
readln;
end.