program exs;
var a : array [1..1000] of integer;
n, i : integer;
procedure qsort(l, r: integer);
var i, j, key, buf : integer;
begin
i := l;
j:= r;
key:=a[(l+r) div 2];
repeat
while a[i] < key do inc(i);
while a[j] > key do dec(j);
if i<=j then begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
inc(i);
dec(j);
end;
until (i>j);
if (l < j) then qsort(l, j);
if (i < r) then qsort(i, r);
end;
begin
readln(n);
for i:= 1 to n do begin
read(a[i]);
end;
qsort(1, n);
for i:=1 to n do begin
write(a[i], ' ');
end;
end.
Ответ:
12
Объяснение:
Элементарная арифметика 36/6 = 6 , а 6+6 = 12
Решения находятся в приложениях.
Красным цветом показаны результаты выполнения алгоритмов.
A B
1 6 3
2 =A1+B1 =A1/B1
1 6 3
2 3 2
1 2 3
2 5 0,666667
1 2 4
2 6 0,5
Делим 1000 монет на 4 кучки по 250 монет. В одной из этих кучек есть фальшивая монета(она либо легче либо тяжелее обычной монеты)
ложим на весы две кучки по 250 монет. Если вес у них равен, то среди них нет фальшивой монеты. Ложим две другие кучки. Тот вес, который отличается от прошлого взвешивания говорит о том, что в кучке есть фальшивая монета(это мы определяем на втором взвешивании).
Мы определили кучку с фальшивой монетой. Дальше разбиваем кучу еще раз и повторяем операцию
Изначально кучу можно разбить по разному, например, на 10 кучек по 100 монет