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<br> 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