1、有两个桶,一个能盛5升水,一个能盛3升水,如何用测量出4升水?
Answer:
step 1: 用3L的桶打满水倒入5L的桶中,取得3L水.
step 2: 再3L的桶打满水倒入5L的桶中,这时5L的桶装满3L的桶还剩下1L(3L+3L-5L).
step 3: 把5L桶里面的水全部倒掉,将3L桶中的1L水倒入5L桶中.
step 4: 这时5L桶中有1L水,然后再用3L桶装满水倒入其中.(1L+3L=4L)OK.
2、编写程序求解:1-2+3-4+5…….n
Answer:
/**
* @author Bill.Zhang
*
*/
public class Main {
/**
* @param args
*
* 1-2+3-4+5-6 ..n
*/
public static int getNumber(int n){
return (n%2==0)? -(n/2):(n+1)/2;
}
public static void main(String[] args) {
System.out.println(getNumber(5));
}
}
3、20个球,其中一个比其它的重一点,请用最快的方式找它出来。
Answer:
step 1: 第一次分组7,7,6;用天平比较第1、2组;如果
第1、2组平衡:将第三组6个球分组2,2,2;用天平比较第1、2组;如果平衡称第三组,找出重的一个;如果不平衡称第重的组,找出重的一个;
step 2: 第1、2组不平衡:将重的一组分成2,2,3;用天平比较第1、2组;如果不平衡称第重的组,找出重的一个;如果平衡将第三组3个球分组1、1、1,找出重的一个;
总共要称3次