渔夫分鱼

来自计算思维百科
跳转至: 导航搜索
渔夫分鱼1.png

甲、乙、丙三位渔夫出海打鱼,他们随船带了21个筐。 当晚返航时,他们发现有七个筐装满了鱼,还有七个筐装了半筐鱼,另外七只则是空的。 他们没有秤,但目测发现7个满筐的重量是相等的,七个半筐的重量是相等的。
在不将鱼倒出来的前提下,怎样将鱼平分为三份?

解决方案

方案1—规模预减的穷举法

有空筐、满筐的情况下,要将鱼等分,我们可能会根据经验想要把鱼到倒进空筐里。但是在这里不能把鱼倒出来,所以我们要改变问题的聚焦对象。装鱼的是筐,想要将鱼三等分,没有天平,我们就只能借助筐来计算每个人可以得到多少鱼了,因此问题就变成了21个筐、满筐、半筐、空筐如何平分的问题了。21刚好可以被3整除,即每个人都是7个筐。

计算一下每人可以得到多少鱼:

(7+7*0.5)/3= 3.5筐

根据上面的计算结果:

我们可以很快排除甲乙丙三人都不可能拿到7、6、5、4个满筐,因为这样分了之后剩下的鱼只有3.5、4.5、5.5、6.5筐鱼了,两人平分是不可能和前面先分的人拥有一样多的鱼的。

半筐的数量范围也是同样的排除法,要排除的是7、6、5、4筐,因为这样的话其他人就不能得到半筐鱼。

于是从1,2,3,4筐中一一进行组合。得到以下两种方案。

    第一种分法:

 

满筐

半筐

空筐

筐总和

鱼总和

2

3

2

7个

3.5筐

2

3

2

7个

3.5筐

3

1

3

7个

3.5筐

第二种分法:

3

1

3

7个

3.5筐

3

1

3

7个

3.5筐

1

5

1

7个

3.5筐

运用的计算思维

规模预减的穷举法是利用已知条件,把可以缩小的范围缩小,使得问题比较容易解决,体现了机械式的计算思维。

参考资料

《动脑筋》   谈详柏 审校 上海科学技术出版社