`
shoppingbill
  • 浏览: 58315 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Chapter 2

阅读更多

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次

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics