Var
n, k: longint;
begin
Write('Введите натуральное число: '); Readln(n);
k := 0;
if n > 1 then
begin
repeat
if n mod 2 = 1 then k := k + 1;
n := n div 2
until n < 2
end;
Writeln('Количество единиц в двоичном представлении равно ', k + 1)
end.
Тестовое решение:
Введите натуральное число: 152
Количество единиц в двоичном представлении равно 3