3. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
Строится двоичная запись числа N.
К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите такое наименьшее число R, которое превышает 43 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе счисления.
z:string[10];
x:string[2];
i,j,k,m: integer; //новые переменные
Begin
Write('введите строку текста - St');
Readln(St);
k:=0; //обнуляем на всякий случай
z:='0123456789';
i:=1;
for j:=1 to length(St) do //начало
begin;
for m:=1 to 10 do
if St[j]=z[m] then inc(k);
end;
if k=0 then
begin;
writeln('в тексте нет цифр');
exit;
end; //конец
while i<=length(st)-1 do
begin
x:=copy(st,I,2);
if (x[1]=x[2]) and (pos(x[1],z)<>0) then
begin
delete(st,i,2);
insert('две',st,i);
i:=i+1;
end;
i:=i+1;
end;
writeln('преобразованная строка ', st);
End.
В восьмиричной системе: разбиваете двоичное представление на группы по 3 бита справа налево
011 = 3
011 = 3
011 = 3
10 = 2
Тогда в восьмиричной системе: 2333(8) = 2*8^3+3*8^2+3*8^1+3 = 1024+192+24+3=1243(10)
В шестнадцатиричной системе: разбиваете двоичное представление на группы по 4 бита справа налево
1011 = B = 11(10)
1101 = D(16) = 13(10)
100 = 4
Тогда в шестнадцатиричной системе
4DB(16) = 4*16^2+13*16^1+11 =1024+208+11=1243(10)