var ar:array[1..10] of integer; max,min,i,kmax,kmin:integer; begin randomize;
max:=0; min:=1000;
for i:=1 to 10 do begin ar[i]:=random(1000)+1; if (ar[i] > max) then begin max:=ar[i]; kmax:=i; end else if (ar[i] < min) then begin min:=ar[i]; kmin:=i; end; write(ar[i],' '); end;
writeln();
if (kmax > kmin) then for i:=kmin+1 to kmax-1 do write(i,' ') else if (kmax < kmin) then for i:=kmax+1 to kmin-1 do write(i,' '); end.
Пронумеровать цифры в 1101 справа налево, начало отсчета это 0 (т.е. справа начинается 0, 1, 2, 3). Затем везде, где в двоичной записи стоят единицы, записать 2 в степени нумерации под этим числом (т.е. в 1101 под первой единицей нумерация 3, это 2^3, под второй единицей нумерация 2, это 2^2, затем ноль пропускаем, под последней единицей нумерация 0, это 2^0). Затем все складываем
Получится 2^3+2^2+2^0=8+4+1=13
Из десятичной в двоичную:
Делим число на 2 и замечаем остаток:
13/2=6, остаток 1.
6/2=3, остаток 0.
3/2=1, остаток 1.
Дальше делить не получится. Берем последнюю единицу, оставшуюся после деления, а затем записываем все остатки, начиная с конца: 1 1 0 1.
var
ar:array[1..10] of integer;
max,min,i,kmax,kmin:integer;
begin
randomize;
max:=0;
min:=1000;
for i:=1 to 10 do begin
ar[i]:=random(1000)+1;
if (ar[i] > max) then
begin max:=ar[i]; kmax:=i; end
else if (ar[i] < min) then begin min:=ar[i]; kmin:=i;
end;
write(ar[i],' ');
end;
writeln();
if (kmax > kmin) then for i:=kmin+1 to kmax-1 do write(i,' ')
else if (kmax < kmin) then for i:=kmax+1 to kmin-1 do write(i,' ');
end.
P.S. В решении выше есть далеко ни одна ошибка ;)
В десятичной: 13
В двоичной: 1101
Объяснение:
Из двоичной в десятичную:
Пронумеровать цифры в 1101 справа налево, начало отсчета это 0 (т.е. справа начинается 0, 1, 2, 3). Затем везде, где в двоичной записи стоят единицы, записать 2 в степени нумерации под этим числом (т.е. в 1101 под первой единицей нумерация 3, это 2^3, под второй единицей нумерация 2, это 2^2, затем ноль пропускаем, под последней единицей нумерация 0, это 2^0). Затем все складываем
Получится 2^3+2^2+2^0=8+4+1=13
Из десятичной в двоичную:
Делим число на 2 и замечаем остаток:
13/2=6, остаток 1.
6/2=3, остаток 0.
3/2=1, остаток 1.
Дальше делить не получится. Берем последнюю единицу, оставшуюся после деления, а затем записываем все остатки, начиная с конца: 1 1 0 1.