Да, интересно. Что-то и не соображу, как с такими жесткими ограничениями вывернуться.
Цитата:
Сообщение от Танюшка 1991
Задано целое число без знака (тип word). Распечатайте содержимое битов заданного числа.
|
Это-то можно, только вот биты будут идти в обратном порядке, т.е. возрастание разрядов идет слева направо, а не справа налево, как обычно:
Код:
VAR
x,y:Word;
BEGIN
Write('x= ');
Readln(x);
Repeat
y:=x Shr 1;
y:=y Shl 1;
Write(x-y);
x:=x Shr 1;
Until x=0;
Readln;
END.
А вот как их в нормальном порядке выстроить... То есть можно, скажем, так:
Код:
VAR
x,y:Word;
t:Byte;
z,m:LongInt;
BEGIN
Write('x= ');
Readln(x);
m:=1;
z:=0;
Repeat
y:=x Shr 1;
y:=y Shl 1;
t:=x-y;
z:=z+t*m;
x:=x Shr 1;
m:=m*10;
Until x=0;
Writeln(z);
Readln;
END.
Но, боюсь, что это выйдет за пределы ограничений...