Python程式:檢查首位玩家能否透過達到目標總和獲勝


假設我們有兩個數字k和target。現在考慮Amal和Bimal正在玩一個遊戲。在每一輪中,Amal選擇一個從1到k的數字新增到初始為0的總分數中。誰先超過目標總和獲勝。Amal總是先玩,我們需要檢查如果兩人都最佳發揮,他能否強迫獲勝。

因此,如果輸入像k = 5 target = 10,則輸出將為True,因為如果Amal首先選擇4,那麼無論Bimal選擇1、2、...還是5,Amal總可以透過在下一次選擇5來達到10。

為了解決這個問題,我們將遵循以下步驟:

  • 如果target % (k + 1)不為0,則
    • 返回true
  • 否則
    • 返回false

示例

讓我們看看下面的實現來更好地理解:

def solve(k, target):
   return target % (k + 1) != 0

k = 5
target = 10
print(solve(k, target))

輸入

5, 10

輸出

True

更新於: 2021年10月18日

167 次檢視

開啟你的職業生涯

透過完成課程獲得認證

立即開始
廣告