Два игрока, петя и ваня, играют в следующую игру. перед игроками лежит куча камней. игроки ходят по очереди, первый ход делает петя. за один ход игрок может добавить в кучу два камня или увеличить количество камней в куче в два раза. например, имея кучу из 15 камней, за один ход можно получить кучу из 17 или 30 камней. у каждого игрока, чтобы делать ходы, есть неограниченное количество камней. игра завершается в тот момент, когда количество камней в куче становится не менее 25. победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 25 или больше камней.
в начальный момент в куче было s камней, 1 ≤ s ≤ 24.
1. при каких s: 1а) петя выигрывает первым ходом; 1б) ваня выигрывает первым ходом?
2. назовите три значения s, при которых петя может выиграть своим вторым ходом?
3. при каком s ваня выигрывает своим первым или вторым ходом?
Решение такое (для x=1,2,3,4,5,6,7,8,9,10. ):
var
x, y: real;
begin
writeln('*********************');
writeln('* X * Y *');
writeln('*********************');
for x := 1 to 10 do
begin
if x>=0 then y:=5*x else y:=4*x+2;
writeln('* 'x,' * ',y,' *');
end;
writeln('*********************');
end.
Но лучше сделать ввод значений х с клавиатуры:
var
y: real; i:integer;
mas: array[1..10] of real;
begin
for i := 1 to 10 do
begin
write ('Введите ',i,'-е значение ');
readln (mas[i]);
end;
writeln('*********************');
writeln('* X * Y *');
writeln('*********************');
for i := 1 to 10 do
begin
if mas[i]>=0 then y:=5*mas[i] else y:=4*mas[i]+2;
writeln('* ',mas[i],' * ',y,' *');
end;
writeln('*********************');
end.