Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)Поделитесь своими знаниями, ответьте на вопрос:
Ниже записана программа. получив на вход число , эта программа печатает два числа, и . укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.var x, a, b : integer; begin readln(x); a : = 0; b : = 1; while x > 0 do begin a : = a + 1; b : = b * (x mod 8); x : = x div 8; end; writeln(a); write(b); end.
var
x, a, b,i: integer;
begin
for i := 8 * 8 + 1 to 8 * 8 * 8 do
begin
x:=i;
a := 0;
b := 1;
while x > 0 do
begin
a := a + 1;
b := b * (x mod 8);
x := x div 8;
end;
if (a = 3) and (b = 10) then
writeln(i);
end;
end.
вывод
85
106
141
169
330
337
что делает алгоритм? Считает в восьмиричном числе кол-во знаков (а) и произведение чисел (b)