S1=31
S2=32
Объяснение:
Чтобы выиграть первым ходом, в куче должно быть от 16 до 30 камней включительно. Соответственно, чтобы выиграть вторым ходом, необходимо чтобы камней было в два раза больше (если первым ходом игрок уменьшает число камней в два раза), то есть от 31 до 60 камней.
Но первым ходом игрок не обязательно уменьшает число камней в два раза. Он может просто взять один камень. В этом случае, в куче должно быть 31 или 32 камня.
С учетом того, что согласно условию задачи, выигрыш должен наступить независимо от того, каким будет первый ход, искомые значения 31 и 32.
begin
writeln('Введите элементы массива P: '); for i:=1 to 10 do begin readln(P[i]); end; writeln; writeln('Массив P: '); for i:=1 to 10 do begin write(' '+P[i]+' '); end;
writeln; writeln('Массив H: '); for i:=1 to 10 do begin if (i mod 2 = 0) then begin H[i]:=1/P[i]; end; if (i mod 2 <> 0) then begin H[i]:=P[i]+i; end; end; for i:=1 to 10 do begin write(' '+H[i]+' '); end; writeln; writeln; writeln('Нечётным элементам присваиваем значения квадратов их индексов'); for i:=1 to 10 do begin if (i mod 2 <> 0) then P[i]:=i*i; end; for i:=1 to 10 do begin if (i mod 2 <> 0) then H[i]:=i*i; end; writeln('Массив P: '); for i:=1 to 10 do begin write(' '+P[i]+' '); end;
writeln; writeln('Массив H: '); for i:=1 to 10 do begin write(' '+H[i]+' '); end; writeln; writeln; writeln('Напечатать индекс последнего из элементов, равных 0'); for i:=1 to 10 do begin if (P[i] = 0) then index1:=i; end; writeln; writeln('Индекс для массива P: '+index1); for i:=1 to 10 do begin if (H[i] = 0) then index2:=i; end; writeln; writeln('Индекс для массива H: '+index2); end.