Для игры, описанной
В ответе запишите найденные значения в порядке возрастания.
Ответ:
Первое такое значение S — 81. Своим первым ходом Петя может получить
Второе такое значение S — 86. Своим первым ходом Петя может получить
Приведём решение на языке Python.
def f(x, h):
if x >= 132:
return h % 2 == 0
if h == 0:
return 0
c = [f(x + 1, h - 1)]
if x % 2 == 0:
c += [f(x *3 // 2, h - 1)]
if x % 3 == 0:
c += [f(x *4 // 3, h - 1)]
if x % 2 != 0 and x % 3 != 0:
c += [f(x * 2, h - 1)]
return any (c) if h % 2 != 0 else all(c)
count = 0
for x in range(132, 1, -1):
if f(x, 3) == 1 and f(x,1) == 0:
count += 1
print("Задача 20: ", x)
if count == 2:
break
Ответ: 81 86.

