百度空间 | 百度首页 
               
 
查看文章
 
一个袋子中有100个黑球,100个白球
2008-03-28 17:18

一个袋子中有100个黑球,100个白球,每次从中取出两个球,然后放回一个球,如果取出两个球颜色相同,则放入一个黑球,如果取出一百一黑,则放入一个白球,请问到最后袋中剩下的球的颜色:
1)黑球    2)白球    3)不一定。
给出证明。

import java.util.Random;
import java.lang.Math;

public class WhiteAndBlack
{
/**
*@description numContainer 1:whiteBall ; 2:blackBall
*/
public static void main(String[] args)
{
   for (int i = 0 ; i < 10 ; i ++ )
    getBall();
}

public static void getBall()
{
   int[] numContainer = new int[200];
   int[] numCount = new int[200];
   Random randomNum = new Random();
   for ( int i = 0 ; i < 100; i ++ )
   {
    numContainer[Math.abs(randomNum.nextInt())%200] = 1;
   }
   for ( int i = 0 ; i < 200; i ++ )
   {
    if (numContainer[i] != 1) numContainer[i] = 2;
   }
  
  
   
   while(!isEmpty(numContainer))
   {
    int one = Math.abs(randomNum.nextInt())%200 ;
    int two = Math.abs(randomNum.nextInt())%200 ;
    numContainer = getA(numContainer, numContainer[one]);
    numContainer = getA(numContainer, numContainer[two]);
    if (numContainer[one] == numContainer[two] )
     numContainer = getA(numContainer, 2);
    if (numContainer[one] != numContainer[two] )
     numContainer = getA(numContainer, 1);
   }
  
   for (int i = 0 ; i < numContainer.length; i ++ )
   if (numContainer[i] != 0 ){
     System.out.println(numContainer[i]);
     break;
    }
    else if ( i == numContainer.length -1 )
     System.out.println(numContainer[i]);
}

public static int[] getA(int[] tmpArray, int value)
{
   for ( int i = 0 ; i < tmpArray.length ; i ++ )
   {
    if (tmpArray[i] == value )
    {
     tmpArray[i] = 0;
     break;
    }
   }
  
   return tmpArray;
}

public static boolean isEmpty(int[] tmpArray )
{
   boolean isEmpty = true;
   int count = 0;
   for ( int i = 0 ; i < tmpArray.length ; i++ )
   {
    if (tmpArray[i] != 0 )
     count ++ ;
   }
   if (count > 1)
    isEmpty = false;
   
   return isEmpty;
}
}


类别:专业技能 | 添加到搜藏 | 浏览() | 评论 (5)
 
最近读者:
 
网友评论:
1
2008-03-28 17:28 | 回复
很牛。。
 
2
2008-03-30 13:14 | 回复
不晓得诶。
 
3
2008-03-30 21:22 | 回复
★。  '★      `★`˙•          ˙★          •        ★`˙          *`★` `.              •.  .  . .  ••★....•˙ 飘来咯`~~~我来踩了~~嘿嘿~~ ★。  '★      `★`˙•          ˙★          •        ★`˙          *`★` `.              •.  .  . .  ••★....•˙ 祝你人气大增喏~~~~★。  '★      `★`˙•          ˙★          •        ★`˙          *`★` `.              •.  .  . .  ••★....•˙
 
4
2008-03-30 21:22 | 回复
★。  '★      `★`˙•          ˙★          •        ★`˙          *`★` `.              •.  .  . .  ••★....•˙ 飘来咯`~~~我来踩了~~嘿嘿~~ ★。  '★      `★`˙•          ˙★          •        ★`˙          *`★` `.              •.  .  . .  ••★....•˙ 祝你人气大增喏~~~~★。  '★      `★`˙•          ˙★          •        ★`˙          *`★` `.              •.  .  . .  ••★....•˙
 
5
2008-04-07 03:11 | 回复
我怎么看得乱乱的 最近过得去还不错吧
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu