Просмотр задания
var x, l, m: integer;
begin
readln(x);
l := 0; m := 0;
while x > 0 do
begin
m:=m+1;
if x mod 2 0 then
l := l + 1;
x := x div 2;
end;
writeln(l); write(m);
end.



Укажите наименьшее число х, при вводе которого алгоритм печатает сначала 3, потом 6.
Гость
11 июня 2016
Ответы (1)
As No # 12 июня 2016 в 15:20 0
Подбираем число в двоичной сс.
m - количество разрядов в числе х (6).
l - указывает на количество цифр в числе х, которые без остатка делятся на 2. таких чисел 3.
По условию нам нужно наименьшее число.

100011 в 2 сс - 35 в 10 сс.
Перевести число из в Результат: 510 = 1012