
Для игры, описанной в задании 19, найдите два наименьших значения S, при которых Петя не может выиграть первым ходом, но у Пети есть выигрышная стратегия, позволяющая ему выиграть вторым ходом при любой игре Вани. В ответе запишите найденные значения в порядке возрастания.
Ответ:
Решение.
Это задание ещё не решено, приводим решение прототипа.
Для игры, описанной в задании 19, найдите два наименьших значения S, при которых Петя не может выиграть первым ходом, но у Пети есть выигрышная стратегия, позволяющая ему выиграть вторым ходом при любой игре Вани. В ответе запишите найденные значения в порядке возрастания.
Ответ:
Приведём решение на языке Python.
def f(x, h):
delit = [k for k in range(2, 10) if x % k == 0]
if x <= 15:
return h % 2 == 0
elif h == 0:
return 0
elif not any(x % k == 0 for k in range(2, 10)):
x -= 1
elif (h-1)%2 ==0:
return any(f(x-k, h-1) for k in delit)
else:
return all(f(x-k, h-1) for k in delit)
for x in range(16, 100):
if not (f(x,1)) and f(x,3):
print('Задача 20:',x)
Ответ: 24; 30.