Для игры, описанной в задании 19, найдите минимальное значение S, при котором у Вани есть стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, но у Вани нет стратегии, которая позволила бы ему гарантированно выиграть первым ходом.
Приведём решение на языке Python.
def f(x,k,v):
if x <= 17:
return k in v
if k >= max(v):
return 0
h = [f(x-5,k+1,v)]
if x % 2 ==0:
h.append(f(x//2,k+1,v))
if x % 3 ==0:
h.append(f(x//3,k+1,v))
else:
h.append(f(x+1,k+1,v))
if k%2 != max(v) % 2:
return any(h)
else:
return all(h)
for x in range (10,1000):
if f(x,0,[2,4]) == 1 and f(x,0,[2]) == 0:
print('Задание 21:',x)
break
Ответ: 54.

