一道微软面试题的Java解法

问题:你有4瓶药。每粒药丸的重量是固定的,不过其中有一瓶药受到了污染,药丸的重量发生了变化,每个药丸增加了一点重量。你怎样一下子测出哪瓶药是遭到污染的呢?

Java代码:

 

ExpandedBlockStart.gif 代码
package  cn.nx.majinze; 

public   class  GetMedicine 

    
public   static   void  main(String[] args) 
    { 
        
int [] T = { 12 , 17 , 12 , 12 }; 
        getTrue(T); 
    } 
    
public   static   void  getTrue( int [] T) 
    { 
        
int  flag = 0
        
for ( int  i = 0 ;i < T.length;i ++
        { 
            
if (flag == 0
            { 
                
for ( int  j = 0 ;j < T.length;j ++
                { 
                    
if (flag == 0
                    { 
                        
for ( int  k = 0 ;k < T.length;k ++
                        { 
                            
if (flag == 0
                            { 
                                
if (i != j && j != k && i != k) 
                                { 
                                    
if (T[i] == T[j] && T[j] == T[k]) 
                                    { 
                                        System.out.println(
" 合格的产品已经找到:  " + i + j + k); 
                                        flag
= 1
                                        
break
                                    } 
                                    
else  
                                    { 
                                        System.out.println(
" 算法仍在继续.... " ); 
                                    } 
                                } 
                            } 
                            
else  
                            { 
                                
break
                            } 
                        } 
                    } 
                    
else  
                    { 
                        
break
                    } 
                } 
            } 
            
else  
            { 
                
break
            } 
        } 
    } 

}

 

 

转载于:https://www.cnblogs.com/MicroGoogle/archive/2010/03/12/1684119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值