一道很有意思的面试题,都来看看···
1 有十二个球,大小形状相同,其中有一个是劣质球,或轻或重无法用感觉判断,现有一无刻度的天平,请用三次称量确定那个劣质球。(我想了很长时间,没想出来,朋友说有算法,我也不知道怎么算,求解)
2 写出一个测试输入的三个值是三角形的三个边的程序。(这个会写,想看看大家是怎么写的)
[解决办法]
三角形的。。任何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"); }
[解决办法]
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()); }}
[解决办法]
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有问题 二选一,三选一和上面就一样了。