Сколько единиц в двоичном представлении числа
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
Оцени ответ
