日期:2014-05-20  浏览次数:20704 次

一道很有意思的面试题,都来看看···
1 有十二个球,大小形状相同,其中有一个是劣质球,或轻或重无法用感觉判断,现有一无刻度的天平,请用三次称量确定那个劣质球。(我想了很长时间,没想出来,朋友说有算法,我也不知道怎么算,求解)

2 写出一个测试输入的三个值是三角形的三个边的程序。(这个会写,想看看大家是怎么写的)

------解决方案--------------------
Java code

三角形的。。任何2边相加都大于第3边。。。
Scanner input = new Scanner(System.in);
        int i = input.nextInt();
        int j = input.nextInt();
        int k = input.nextInt();
        
        if((i+j)>k && (i+k)>j && (k+j)>i
                && i>0 && j>0 && k>0)
        {
            System.out.println("ok");
        }

------解决方案--------------------
Java code

public class Tritangle {
    private double a;
    private double b;
    private double c;
    
    public Tritangle(double a,double b,double c){
        this.a = a;
        this.b = b;
        this.c = c;
    }
    
    public boolean isTritangle(){
        if(a+b>c && b+c>a && c+a>b){
            return true;
        }
        return false;
    }
    
    public static void main(String[] args){
        Tritangle t = new Tritangle(2,3,5);
        System.out.println("isTritangle="+t.isTritangle());
    }
}

------解决方案--------------------
探讨

Java code

public class Tritangle {
private double a;
private double b;
private double c;

public Tritangle(double a,double b,double c){
this.a = a;
this.b = b;
……

------解决方案--------------------
探讨
这个是面向对象思想了。。。不过三角形的三边不能为零。。。

------解决方案--------------------
Java code

        1234,5678,9abc
        1234--5678
        相等:12345678正常,9abc不正常
            123--abc
            相等: 9劣质
            不相等: 
                b--c
                相等: a劣质
                不相等: 根据123--abc的轻重,判断劣质球的轻重\    
        不相等:9abc正常
            1235--4abc(abc 替换678;4与5交换)
            相等: 678不正常
            不相等: 
            若平衡发生了变化,说明4,5不同; 则4或5劣质,
            若平衡没有发生变化,说明abc,678,45都是正常的。则123有问题
                二选一,三选一和上面就一样了。