先上题目

Java/1025. Divisor Game 除数博弈(为什么要这样解)


Java/1025. Divisor Game 除数博弈(为什么要这样解)

 

 

 

 

 

讲一下思路吧:哪个数选不出小于自己可以整除正除数了?是不是只有“1”,所以其实就是谁拿到“1”谁输的游戏,所以判断能不能拿到“1”很重要。先手情况下,拿去比N小,且被N整除的正整数。当N为奇数时,我 只能拿掉奇数(奇数不能整除偶数,双方都不会出错情况下),所以比自己小的奇数时多少?最佳情况下对手不可能给你拿到偶数,所以你永远只能拿奇数,知到对方拿到“2”,你就遇到“1”了。当N为偶数时,我是不是可以拿掉一个奇数(1)或偶数,剩下“1”给对手。(或者找结果规律)

 

代码部分(0ms 100%)

class Solution {
    public boolean divisorGame(int N) {
        return N % 2 == 0;
    }
}

 

相关文章: