1025 除數博弈 leetcode

愛麗絲和鮑勃一塊兒玩遊戲,他們輪流行動。愛麗絲先手開局。web

最初,黑板上有一個數字 N 。在每一個玩家的回合,玩家須要執行如下操做:svg

選出任一 x,知足 0 < x < N 且 N % x == 0 。
用 N - x 替換黑板上的數字 N 。
若是玩家沒法執行這些操做,就會輸掉遊戲。.net

只有在愛麗絲在遊戲中取得勝利時才返回 True,不然返回 false。假設兩個玩家都以最佳狀態參與遊戲。code

class Solution {
public:
    bool divisorGame(int N) {
        return !(N%2);
    }
};

解釋:若是N是奇數,那x也必定是一個奇數(偶數確定不能被整除吧!)N=N-X就必定變成偶數了。若是a爲一個奇數,那給b就必定爲偶數,此時b只須減一,a就又回到了奇數,如此下去,最後偶數2必定出如今b手上,a就成爲1了,不能進行下去了,b就贏了。反之亦然(由於他們都聰明)。只許考慮數N是奇是偶。xml

本文分享 CSDN - 希境。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。遊戲

相關文章
相關標籤/搜索