var a:integer;
begin
readln (a);
if (a>0) then
repeat
a:=a-3;
until(a<0);
if (b<0) then
repeat
a:=a+2;
until (a>70);
writeln (a);
end.
У этих игр очень простая стратегия. Запомните её один раз и будете решать любые подобные задачи.
Пусть дано P предметов и за ход можно брать от 1 до n предметов.
Вычисляем "магическое число" М = n+1.
Находим остаток целочисленного деления P на M - он покажет, сколько спичек надо взять при первом ходе для выигрыша. Если 0 - то игрок, делающий ход первым, проигрывает. Выигрышная стратегия проста. Если противник взял k предметов, мы берем M-k.
Рассмотрим задачу 1.
P=25, n=4
М=n+1=5, P/M дает в остатке 0 - игрок, делающий ход первым, проигрывает.
Выигрышная стратегия: брать 5-k предметов, оставляя противнику 20, 15, 10 и 5 предметов.
Рассмотрим задачу 2.
P=107, n=2
M=n+1=3, P/M дает в остатке 2 - игрок, делающий ход первым, берет 2 предмета и выигрывает.
Выигрышная стратегия: брать 3-k предметов, оставляя противнику 105, 102, 99, 96, ... предметов.
Все залежить від доступу, повний він чи лише для читання
Верхний правый угол нажми на свой аватал , там есть выход .
Если не тот язык, укажите какой нужен.
var a: integer;
f: real;
begin
write('Введите а: '); readln(a);
if(a <= 0) then f := sqr(a) + 4*a + 5
else f := 1 / (sqr(a) + 4*a + 5);
writeln('f(', a, ') = ', f);
end.