Untitled
unknown
plain_text
2 years ago
1.7 kB
3
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) break
Editor is loading...