На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N
2) К этой записи дописывается справа ещё разряды по следующему правилу: если N четное число, в конце числа дорисываются нули, количество которых совпадает с количеством значащих разрядов исходного числа; если N нечетное число, то в конце числа дописываются единицы, количество которых также совпадает с количеством значащих разрядов исходного числа.
Н-р двоичная запись 1001 числа 9 будет преобразована в 10011111, а двоичная запись 1100 числа 12 будет преобразована в 11000000.
Полученная запись таким образом является двоичной записью числа R- результата работы данного алгоритма.
Укажите максимальное число R, которое меньше 182 и может являться результатом работы алгоритма. В ответ это число запишите в десятичной системе счисления.
Объясните подробно
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)i:integer;
begin
randomize;
for i:=1 to 10 do begin
a[i]:= random(200) -100;
write(a[i]:5); end;
writeln;
for i:=1 to 10 do
if a[i]>=0 then a[i]:=a[i]/2 else a[i]:=i;
write(a[i]:5);
end.
2) var a:array[1..1000] of real;
s1,s2:real;
i,n:integer;
begin
write('Введите кол-во элементов: '); readln(n);
writeln('Введите элементы массивы: ');
for i:=1 to n do
read(a[i]);
s1:=0; s2:=0;
for i:=1 to n do
if odd(i) then s1:=s1+a[i] else s2:=s2+a[i];
writeln('Сумма элементов с четными номерами: ',s2);
writeln('Сумма элементов с нечетными номерами: ',s1);
end.