¿ÍÎà¤ß¤ó¤Ê¤´¤¯¤Ä¤Ö¤·

2006-09-10

¢£¥â¥ó¥Æ¥£¥Û¡¼¥ë¥Ñ¥é¥É¥Ã¥¯¥¹ 14:17

ºòÆü¡¢¹Ôư¥Õ¥¡¥¤¥Ê¥ó¥¹¤ÎËܤòÆÉ¤ó¤Ç¤Æ¡¢½Ð¤Æ¤­¤¿¥¯¥¤¥º¡£

¾ÜºÙ¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£

http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C


¤É¤¦¤Ë¤âǼÆÀ¤Ç¤­¤º¡¢¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ³Îǧ¤·¤Æ¤ß¤¿¡£

¤·¤«¤â¿Í¤Î¥×¥í¥°¥é¥à¤À¤ÈÍî¤È¤··ê¤¬¤¢¤ë¤«¤â¤È¤¤¤¦¤³¤È¤Ç¡¢¼«Ê¬¤Ç¿·¤¿¤Ëºî¤Ã¤Æ³Îǧ¤·¤Æ¤ß¤¿¡£

¤·¤¿¤é¤Ð¡¢¥Ð¥°¤Ã¤Æ¤Æ(­¡¤ò˺¤ì¤Æ¤¿)¡¢50%¤Î³ÎΨ¤Ç¤Ó¤Ó¤Ã¤¿¤¬¡¢Ä¾¤¹¤È¤¿¤·¤«¤Ë66%¤°¤é¤¤¤À¤Ã¤¿¡£


¶²¤ë¤Ù¤·Âç¿ô¤Îˡ§¡¢¥×¥í¥°¥é¥à¤Ã¤ÆÊØÍø¤À¤Ê¡£


¤·¤«¤·¡¢¤½¤ì¤Ç¤â¤Ê¤ª¡¢Ç¼ÆÀ¤¤¤«¤º¡¢30ʬ¤Û¤É¤ÏÀâÌÀ¤òÆÉ¤ß¹Í¤¨¤¿¡£¡Ö¿Í¤¬»ý¤Ä³ÎΨ¤ËÂФ¹¤ëľ´¶¡×¤È¤¤¤¦¤Î¤¬¡¢¤¤¤«¤Ë´Ö°ã¤Ã¤Æ¤¤¤ë¤«¡¢¤È¤¤¤¦¤Î¤¬¡¢¤è¤¯¤ï¤«¤Ã¤¿µ¤¤¬¤·¤¿¡£


¤¢¤È¡¢¤³¤ÎÌäÂ꤬´Ö°ã¤¤¤ä¤¹¤¤¤Î¤Ï¡¢³ÎΨ¤ÎÌäÂê¤â¤¢¤ë¤¬¡¢¾õ¶·(ÀßÄê)¤Î¸í²ò¤â¤¢¤ë¤è¤¦¤Ë´¶¤¸¤¿¡£¤³¤ÎÌäÂê¤Î¾ì¹ç¡¢»Ê²ñ¼Ô(¥â¥ó¥Æ¥£¤µ¤ó)¤ÏÌ£Êý¤Ç¤¢¤ë¤¬¡¢Å¨¤Ç¤¢¤ë¤è¤¦¤Ë»×¤¤¤ä¤¹¤¤¡£¥â¥ó¥Æ¥£¤µ¤ó¤¬Å¨¤Ê¤é¤Ð¡¢¡Ö¥×¥ì¥¤¥ä¡¼¤¬Åö¤¿¤ê¤Î¥É¥¢¤òÁª¤ó¤Ç¤¤¤ë¤«¤é¡¢¥Ï¥º¥ì¤µ¤»¤è¤¦¤È¤·¤Æ¤¤¤ë¡×¤È¹Í¤¨¤ë¤Î¤¬ÉáÄ̤À¤È»×¤¦¡£Î㤨¤Ð¡¢­¢¤Î¤è¤¦¤Ê¥³¡¼¥É¤òÄɲ乤ë¤È¡¢¾¡Î¨¤Ï0%¤ËÍî¤Á¤ë(µÕ¤Ë¥É¥¢¤òÊѤ¨¤Ê¤¤¾ì¹ç33%)¡£­¢¤Ï¡¢¥â¥ó¥Æ¥£¤µ¤ó¤¬¡¢¥×¥ì¥¤¥ä¡¼¤ÎÌ£Êý¤Ç¤Ê¤¯´°Á´¤ÊŨ¤Î¾ì¹ç¤Î¥³¡¼¥É¤Ç¡¢¡ÖºÇ½é¤Ë¥×¥ì¥¤¥ä¡¼¤¬¥Ï¥º¥ì¥É¥¢¤ò³«¤¤¤¿¤È¤­¤Ë¡¢É餱¤Ë¤µ¤ì¤Á¤ã¤¦¡×¤È¤¤¤¦¾ì¹ç¤Ç¤¹¡£¤Þ¤¿¡¢ºÇ½é¤Î¥Ð¥°¥×¥í¥°¥é¥à¤Î¾ì¹ç(­¡¤¬¤Ê¤¤¾ì¹ç)¤Ï¡¢¥É¥¢¤òÊѤ¨¤Æ¤âÊѤ¨¤Ê¤¯¤Æ¤â¾¡Î¨50%¤Ç¤¹¡£­¡¤¬¤Ê¤¤¾ì¹ç¤È¤¤¤¦¤Î¤Ï¡¢¡Ö¥â¥ó¥Æ¥£¤µ¤ó¤¬ºÇ½é³«¤±¤ë¥É¥¢¤Ï¡¢¤É¤Á¤é¤«¤Î¥Ï¥º¥ì¥É¥¢¤ò³«¤¯¤À¤±¤Ç¡¢¼«Ê¬¤¬Áª¤ó¤À¥Ï¥º¥ì¥É¥¢¤ò³«¤¯¤³¤È¤â¤¢¤ë¡×¤È¤¤¤¦¾ì¹ç¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¥â¥ó¥Æ¥£¤µ¤ó¤ÏŨ¤Ç¤âÌ£Êý¤Ç¤â¤Ê¤¯¡¢ÃæÎ©¤È¤¤¤Ã¤¿¤È¤³¤í¤Ç¤·¤ç¤¦¤«¡£


¤È¤¤¤¦¤ï¤±¤Ç¡¢¡Ö¥É¥¢¤òÊѤ¨¤Ê¤¤(orÊѤ¨¤Æ¤âÊѤ¨¤Ê¤¯¤Æ¤âƱ¤¸)¤È¤¤¤¦Ä¾´¶¡×¼«ÂΤϴְã¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ê¤¯¡¢¡Ö¥â¥ó¥Æ¥£¡¼¤µ¤ó¤ÏÌ£Êý¤Ê¤Î¤ËŨ(orÃæÎ©)¤È»×¤Ã¤Á¤ã¤¦¡×¾õ¶·Ç§¼±¤¬´Ö°ã¤¤¤Ê¤Î¤«¤â¤Ê¡¼¤È¡¢»×¤Ã¤¿¡£


import java.security.SecureRandom;

public class Game {
        
    private static int gameCount;
    private static int winCount;
    private static int loseCount;

    private SecureRandom rand = new SecureRandom();

    public void doGame(){

        int chooseDoor = rand.nextInt(3);
        int priseDoor = rand.nextInt(3);

        //­¢¥Ï¥º¥ì¤Î¾ì¹ç¤Ï¡¢É餱¤À¤Ã¤¿¤é¤Ð
//        if(chooseDoor != priseDoor){
//            loseCount++;
//            gameCount++;
//            return;
//        }
        
        //»Ê²ñ¼Ô¤¬Åö¤¿¤ê°Ê³°¤Î¥É¥¢¤ò³«¤¯
        //Åö¤¿¤ê¥É¥¢¡¢¼«Ê¬¤¬Áª¤ó¤À¥É¥¢°Ê³°¤Î¥É¥¢
        int openDoor;
        while(true){
            openDoor = rand.nextInt(3);
            if(openDoor != priseDoor && openDoor != chooseDoor){//­¡
                break;
            }
        }

        //¥É¥¢¤òÊѤ¨¤ë
        //Àè¤ËÁª¤ó¤À¥É¥¢¡¢³«¤±¤¿¥É¥¢¤Ç¤Ê¤¤¥É¥¢
        for(int i=0; i<3; i++){
            if(i != openDoor && i != chooseDoor){
                chooseDoor = i;
                break;
            }
        }
        
        if(chooseDoor == priseDoor){
            winCount++;
        }else{
            loseCount++;
        }
        
        gameCount++;
    }
    
    
    public static void main(String[] args) {
        Game game = new Game();
        while(gameCount < 10000){
            game.doGame();
        }
        
        System.out.println("win=" + winCount + "(" + ((float)winCount / gameCount)+ ")");
        System.out.println("lose=" + loseCount + "(" + ((float)loseCount / gameCount)+ ")");

    }
    
}

murayamamurayama 2006/09/10 20:20 TypeSafeEnum¤ÏÍפ¹¤ë¤Ë¥·¥ó¥°¥ë¥È¥ó¤Ê¤Î¤Ç¡¢Æ±Ãͤ¬À®Î©¤¹¤ë»þ¤Ï¾ï¤ËƱ°ì¤Ê¤ó¤Ç¤¹¤è¤Í¡£¤½¤ÎÊÕ¤ê¤ÏString#intern()¤Ê¤ó¤«¤ÈƱÍÍ¡£

muimymuimy 2006/09/10 21:40 ¤½¤¦¤Ç¤·¤¿¤«¡£¥Ç¥·¥ê¥¢¥¤¥º¤µ¤ì¤¿¤È¤­¤È¤«¡¢¤â¤·¤«¤·¤Æ¥ª¥Ö¥¸¥§¥¯¥È¤ÏÊÌʪ¡©¤È¾¡¼ê¤Ë»×¤Ã¤Æ¡¢equals¤·¤Æ¤Þ¤·¤¿¡£enum¤ÎÊØÍø¤µ¤òº£¹¹ºÆÈ¯¸«¡£

unibonunibon 2007/03/17 11:50 ºÇ¶á¡¢enum ¤ò»È¤¤»Ï¤á¤Þ¤·¤¿¤¬¡¢enum ¤¬ Serializable ¤À¤È¤ÏÃΤê¤Þ¤»¤ó¤Ç¤·¤¿¡£¡Ö¤¢¤ì¡©enum »È¤Ã¤Æ¤¤¤ë¤±¤É Serializable ¤Ë¤·¤Ê¤¯¤Æ¤âÉáÄ̤ËľÎ󲽤Ǥ­¤ë¤Ê¤¢¡£Æ°¤¯¤«¤é¤Þ¤¢¤¤¤¤¤«¡£¡×¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡££÷

unibonunibon 2007/03/17 11:51 Java ¤Î switch ¤ÏÉÔËþ¤Ç¤¹¤Í¡£»ä¤Ï¤¤¤Þ¤À¤Ë if ¡Á else if ¡Á else ¤Ç¤ä¤Ã¤Æ¤¤¤Þ¤¹¡£Java 6 ¤Ë¤Ê¤Ã¤¿¤È¤­¤Ë enum ¤È°ì½ï¤ËÊØÍø¤Ë»È¤¨¤ë¤è¤¦¤Ë switch ¤ò²þÎɤ·¤Æ¤Û¤·¤«¤Ã¤¿¤Ç¤¹¡£

unibonunibon 2007/03/17 11:53 ¤¢¤È enum ¤¬ null ¤Ë¤Ç¤­¤ë¤Î¤Ï¡¢¤Þ¤Ã¤¿¤¯¤Ç¤­¤Ê¤¤¤è¤ê¤ÏÊØÍø¤À¤±¤É¡¢null ¤Ë¤Ê¤é¤Ê¤¤µ¡¹½¤â¤Û¤·¤«¤Ã¤¿¤Ç¤¹¡£enum ¤Ë¸Â¤Ã¤¿¤³¤È¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤¬¡£¤Ì¤ë¤Ý¤¬Éݤ¤¡£¡£¡£

muimymuimy 2007/03/17 14:18 ¤è¤¦¤ä¤¯Java5¤Ë¤Ê¤¸¤ó¤Ç¤¤¤¯»ä¤¿¤Áw
¤Ì¤ë¤Ý¤Ï¥×¥í¥°¥é¥à¤Î¥Ð¥°¤Ê¤ó¤Ç¤¤¤¤¤ó¤Ç¤¹¤±¤É(¤è¤¯¤Ï¤Ê¤¤¤¬)¡¢¥Ð¥°°Ê³°¤Ë¤¢¤ê¤¨¤Ê¤¤¤Î¤Ë¥³¥ó¥Ñ¥¤¥é¥Á¥§¥Ã¥¯ÍѤΥ³¡¼¥É¤ò½ñ¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤»þ¤¬¤¢¤ë¤Î¤¬¤¤¤Þ¤¤¤Á¡£

¥È¥é¥Ã¥¯¥Ð¥Ã¥¯ - http://d.hatena.ne.jp/muimy/20060910/1157865464