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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值