Untitled
unknown
plain_text
2 years ago
1.7 kB
4
Indexable
print('задача 19:', end=' ')
def f(x, p):
if x >= 55 or p > 3: # условия остановки игры
return p == 3 # возврат условия, что игра закончилась на 3 позиции (в1)
if p % 2 == 0: # ходы Вани
return f(x + 1, p + 1) or f(x + 4, p + 1) or f(x * 3, p + 1)
if p % 2 == 1: # ходы Пети
return f(x + 1, p + 1) and f(x + 4, p + 1) and f(x * 3, p + 1)
for s in range(1, 54 + 1):
if f(s, 1):
print(s)
print('задача 20:', end=' ')
def f(x, p):
if x >= 55 or p > 4: # условия остановки игры
return p == 4 # возврат условия, что игра закончилась на 4 позиции (п2)
if p % 2 == 1: # ходы пети
return f(x + 1, p + 1) or f(x + 4, p + 1) or f(x * 3, p + 1)
else: # ходы Вани
return f(x + 1, p + 1) and f(x + 4, p + 1) and f(x * 3, p + 1)
cnt=0
for s in range(1, 54 + 1):
if f(s, 1) and cnt<2:
print(s, end=' ')
cnt+=1
print('\nзадача 21:', end=' ')
def f(x, p):
if x >= 55 or p > 5: # условия остановки игры
return p == 3 or p==5 # возврат условия, что игра закончилась на 3 или 5 позиции (в1,в2)
if p % 2 == 0: # ходы Вани
return f(x + 1, p + 1) or f(x + 4, p + 1) or f(x * 3, p + 1)
else: # ходы Пети
return f(x + 1, p + 1) and f(x + 4, p + 1) and f(x * 3, p + 1)
cnt=0
for s in range(1, 54 + 1):
if f(s, 1) and cnt<2:
print(s)
breakEditor is loading...