Сколько единиц в двоичном представлении числа

Var
  n,n1:longint;
  s:string;
  i,k,m:integer;

begin
  Write(Введите натуральное число: ); Readln(n);
  s := ; n1:=n;
  while n > 0 do
  begin
    if Odd(n) then s:=1+s else s:=0+s;
    n := n div 2
  end;
  k:=0; i:=1; m:=length(s);
  while i<=m do begin
    if s[i]=1 then k:=k+1;
    i:=i+2
  end;
  Writeln(n1,(10)=,s,(2), единиц на нечетных местах- ,k)
end.

Тестовое решение:
Введите натуральное число: 15378
15378(10)=11110000010010(2), единиц на нечетных местах- 3


Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку