

接受官方教育
方法一 博弈
找规律并证明
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]
本文探讨了一种名为《divisor Game》的数学问题,通过两种方法——博弈论和动态规划,解析了如何判断给定整数N的游戏中最后一步的胜负。动态规划部分展示了从因子计算到状态转移的详细过程。
198

被折叠的 条评论
为什么被折叠?



