292. Nim Game - LeetCode

Question

292. Nim Gamejava

Solution

思路:試着列舉一下,就能發現一個n只要不是4的倍數,就能贏。shell

n 是否能贏
1    true
2    true
3    true
4    false  不論刪除幾,對方都能一把贏
5    true   刪除1,還剩4,對方先手,對方輸
6    true   刪除2,還剩4,對方先手,對方輸
7    true   刪除3,還剩4,對方先手,對方輸
8    false  不論刪除幾,都能被對方形成還剩4,已方先手,咱們就輸 
9    true
10   true

Java實現:code

public boolean canWinNim(int n) {
    return n%4 != 0;
}
相關文章
相關標籤/搜索