当某个人遇到1时,他一定输了,当某个人遇到2时,他一定赢了。奇数的因子都是奇数(因为奇数不能被2整除,而偶数能被2整除。一个偶数无论与谁相乘,积的因子一定有2,所以奇数的因子一定不会是偶数),而一个奇数减去他的奇数因子,会得到偶数,这时候轮到另一个人玩了。偶数减去1一定变成奇数,所以奇数开局时,先玩的那个人一定输。
static int x = [] () {ios::sync_with_stdio(false); cin.tie(0); return 0;} ();
class Solution {
public:
bool divisorGame(int N) {
return (N & 1) == 0;
}
};