java工程师2道智力题没解答出,希望得到哪位仁兄解决下不甚感谢
1.12个乒乓球有一个乒乓球的重量异常(不知道是轻或重)给一个不带砝码的天平,只准称3次找出这个异常的乒乓球?   
 2.有8个球,有一个球是重100g,有一个球轻100g,期于的球都是500g,给一个没有刻度不带砝码的天平,只可以称4次一定要找出这2个球,怎么称?
------解决方案--------------------第一个问题:想的和bao110908的方法一样。 
 第二个问题比较难了。。。不知能表达清楚不。 
 第1次:分两组,每边4个。分两种情况: 
 1.1平衡(说明轻球和重球在同一组,也表明另一组4个是标准球) 
  第2次:从原组中每组拿3个。 
   第3次:从原组中每组拿2个。 
   第4次:从原组中每组拿1个。 
   判断方法为:本次若平衡:说明轻球和重球还在同一组,继续找。 
              本次若不平衡:找到轻球或重球(上次剩下的1个就是轻球或重球)。 
 1.2不平衡(说明轻球和重球在不同组,为球编号,为方便论述假设为A重,B轻,那么编号为A1、A2、A3、A4;B1、B2、B3、B4) 
  第2次:A1、A2、B1、B2一组;A3、A4、B3、B4一组 
  2.1平衡:A1、A2、B1、B2中既有重球也有轻球。 
            第3次:称A1、A2。找重球。 
            第4次:称B1、B2。找轻球。 
   2.2不平衡两种情况: 
       2.2.1:A1、A2、B1、B2重,那么重球在A1、A2中,轻球在B3、B4; 
            第3次:称A1、A2。找重球。 
            第4次:称B3、B4。找轻球。 
       2.2.2:A1、A2、B1、B2轻,那么重球在A3、A4中,轻球在B1、B2; 
            第3次:称A3、A4。找重球。 
            第4次:称B1、B2。找轻球。 
 不知道对不对,都写蒙了,写的时间比想的时间都长。这是哪公司的智力题啊,我还在找工作呢,不知道我能去不。现在毕业找工作ing.....
------解决方案--------------------能做第二题 
 分三组 A1,A2,A3  B1,B2,B3 C1,C2 
 if(A >  B) 
     //if 400 in B 则 600 in C  ||  600 in A, 400 in B or C  
     if(C1> C2)           //C1 最小500 
 	if(C1> A1)                //C1 同A队中任意一个比较C1==600,C2==400 
     	elseif(C1==A1)           //C2==400; 
 		 if(A2> A3)      // A2==600; 
 		 else           //A3 ==600; 
 	elseif(C1 <A1)           //A1==600,C1==400; 
     elseif(C1==C2) 
 	if(A1> A2)       //A1==600; 
 	elseif(A1==A2)  //A3==600;    
 	elseif(A1 <A2)   //A2==600; 
 	if(B1> B2)       //B2==400; 
 	elseif(B1==B2)  //B3==400;    
 	elseif(B1 <B2)   //B1==400; 
     elseif(C1 <C2)	 
 	相似并列中的if 
 elseif(A  < B) 
 	相似并列中的if   
 elseif(A == B)    //两个球在同一组 
    if(A1> A2)	 
 	if(A1> A3) // 三个球内比 一定可以得到 大和小 
 	elseif(A1 <A3) 
    elseif(A1==A2) 
 	   if(B1> B2) 
 	   elseif(B1==B2) 
 		   if(C1> C2) 
 			//C1==600;C2==400; 
 		   elseif(C1 <C2) 
 		 	//C1==400;C2==600; 
 		   elseif(C1==C2)  
 			//error 
 	   elseif(B1 <B2) 
    elseif(A1 <A2)