Код: Выделить всё
uses crt;
var k, c, n, n2:longint;
i:integer;
s:string;
begin
write('Число: '); read(n);
{s:= '';
n2:=n;}
repeat
if (n2 and 1)=1 then s:='1'+s else s:= '0'+s;
n2:=n2 shr 1;
until n2=0;
writeln('Число 10-->2: ',s);
repeat
k:=k+(n and 1);
n2:=(n2 shl 1)+(n and 1);
c:=c+1;
n:=n shr 1;
until (k=3) or (n=0);
if k<3 then writeln('Число не имеет 3-х единиц.')
else begin n:=n shl 1;
while c>0 do begin
n:=(n shl 1)+(n2 and 1);
n2:=n2 shr 1;
c:=c-1;
end;
end;
writeln('Новое число после вставки нуля: ', n);
{s:= '';
n2:=n;}
repeat
if (n2 and 1)=1 then s:='1'+s else s:= '0'+s;
n2:=n2 shr 1;
until n2=0;
write('Новое число после вставки нуля 10-->2: ',s);
end.