const n=5;var i,j,s,p: integer; a: array [1..n,1..n] of integer; b,c: array [1..n] of integer;begin for i:=1 to n do for j:=1 to n do a[i,j]:=Random(100);{ вывод на экран } for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; { цикл по массиву } for j:=1 to n do {цикл по колонке } begin s:=0; p:=1; for i:=1 to n do {цикл по строке} if (a[i,j] mod 2 = 0) then p:=p*a[i,j] else s:=s+a[i,j]; if (p>1) then c[j]:=p else c[j]:=0; if (s>0) then b[j]:=s else b[j]:=0; end; writeln('массив для четных элементов'); for i:=1 to n do write(c[i]:10); writeln; writeln('массив для нечетных элементов'); for i:=1 to n do write(b[i]:4); end.
Предположим, что фальшивая монета легче подлинной. Разделим монеты на группы по 15 и одну монету отложим в сторону. Взвесим группы по 15. Если весы находятся в равновесии, то фальшивая монета отложена. Если же одна из чаш весов оказалась легче, то фальшивая монета там. 15 монет из легкой чаши снова разделим на 7, 7 и монета в стороне. Повторим взвешивание. Если фальшивая монета не найлена, то из более легкой чаши монетки разделим на 3, 3 и одну. Повторим взвешивание с лекгой чашей в четвертый раз. 1, 1 и монета в стороне. Фальшивка найдена не более чем за 4 взвешивания.