接受官方教育
方法一 博弈
找规律并证明
class Solution:
def divisorGame(self, N: int) -> bool:
return False if N % 2 == 1 else True
方法二 动态规划
class Solution:
def divisorGame(self, N: int) -> bool:
f = [False, True]
for i in range(2, N+1):
# 求因子
for j in range(1, i):
if i % j == 0:
if f[i - j] == False:
f.append(True)
break
else:
f.append(False)
break
return f[N - 1]