首页 > 其他 > 详细

Nim Game

时间:2015-10-23 22:40:13      阅读:314      评论:0      收藏:0      [点我收藏+]

/**
 * title:Nim Game
 * You are playing the following Nim Game with your friend:
 * There is a heap of stones on the table,
 * each time one of you take turns to remove 1 to 3 stones.
 * The one who removes the last stone will be the winner.
 * You will take the first turn to remove the stones.
 * Both of you are very clever and have optimal strategies for the game.
 *
 * Write a function to determine whether you can win the game given the number of stones in the heap.
 * For example, if there are 4 stones in the heap,
 * then you will never win the game: no matter 1, 2, or 3 stones you remove,
 * the last stone will always be removed by your friend.
 */
public class NimGame {

    /**
     * @author wzy
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        NimGame ng = new NimGame();
        boolean f = ng.canWinNim(11);
        System.out.println(f);
    }
    //思路:逆序考虑,因为一次可以取一到三个,所以总量只要为4的倍数,你就肯定会输
    public boolean canWinNim(int n){
        boolean flag = false;
        if(n % 4 == 0){
            flag = false;
        }else{
            flag = true;
        }
        return flag;
    }

}

Nim Game

原文:http://www.cnblogs.com/wzyxidian/p/4905780.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!