<span>Налить в кувшин емкостью 8 литров 2 кувшина по 3 литра - будет 6 литров. Потом влить третий раз, и 8 литровый кувшин наполнится полностью. В 3 кувшине емкостью 3 литра останется 1 литр. Затем выливаем из 8 литрового кувшина полностью всю воду. Заливаем 1 литр - оставшийся в 3 литрвом кувшине и также потом заливаем 2 раза полных кувшина по 3 литра. получается, что будет как раз-то и семь литров. По-моему так.</span>
ОТВЕТ1: ходы А=+1, Б=х2.
для 1 игрока: >=N/2 ( ходит Б)
для 2 игрока: >=(N/2)-1, если первый сходит А. N/4 <= x < N/2, если первый сходит Б. Объединяем промежутки: (N/2)-1 ( ходит Б)
ОТВЕТ2: например (N/2)-2
БЛИН!!! Только решу задачку - Интер вырубается.....
А получилось вот что:
uses Crt;
const N=30;
type Mas=array [1..N] of integer;
var i, j , SumPol, SumOtr: integer;
A: Mas;
begin
ClrScr;
SumPol:=0;
SumOtr:=0;
WriteLn(' Sposob 1:');
WriteLn;
for i:=1 to N do
begin
A[i]:=-10+random(21);
Write (A[i]:4);
end;
WriteLn;
for i:=1 to N do
begin
if (A[i]>0) then SumPol:=SumPol+A[i];
if (A[i]<0) then SumOtr:=SumOtr+A[i];
end;
WriteLn(' SumPol =', SumPol);
WriteLn(' SumOtr =', SumOtr);
WriteLn;
WriteLn (' Sposob 2:') ;
SumPol:=0;
SumOtr:=0;
i:=1;
repeat
if (A[i]>0) then SumPol:=SumPol+A[i];
if (A[i]<0) then SumOtr:=SumOtr+A[i];
i:=i+1;
until i>30;
WriteLn(' SumPol =', SumPol);
WriteLn(' SumOtr =', SumOtr);
ReadLn;
end.
ответ: 1-Россия, 2-Китай, 3-Украина, 4-Германия, 5-Италия