ZZ泊松分酒问题

怎么「分酒」

这个游戏的起源是一道趣味数学题,其中的内容如下:有位农夫到酒行,想买两袋 5 公升 的酒。但是酒行里除了三个容积分别是 10 公升 7 公升 3 公升 的量酒杯之外,没有任何测量工具。酒行老板如何运用这 3 个量杯,倒出两个 5 公升 的酒呢?

为了方便说明, 下面先定义几个名词

甲:酒行里最大的量酒杯,在范例题的容量为 10 公升

乙:酒行里第二大的量酒杯,在范例题的容量为 7 公升

丙:酒行里最小的量酒杯,在范例题的容量为 3 公升

丁:酒行老板想要倒出酒量,在范例题为 5 公升 的酒。

为了深入了解这个游戏,我们将以下列方式来深究这个游戏:

(一)   这个游戏是不是有固定的解题策略?

(二)   如何判断指定的甲、乙、丙量杯组合,是否可将甲的酒量分半?

(三)   怎样的量杯组合,可以倒出任意的指定量来?

 

一、固定的解题策略:

一般人第一次接触本游戏,应该不会马上动手就倒,而会做下面的考虑:

(一) = 丁或丙 = 丁时:此时仅需将甲量杯的酒,倒入乙或丙量杯,即可完成。

(二) = 丁或甲 = 丁时:此时仅需将甲量杯的酒,倒入乙或丙量杯,即可完成。

(三) = 丁时:此时仅需将甲量杯的酒,倒入乙和丙量杯,即可完成。

(四) 当丙 =1 时,不断的重复将甲量杯的酒倒入丙量杯,再将丙量杯的酒倒入乙量杯,终究可倒出丙来。

(五) + = 丁时:此时需将甲量杯的酒,倒入丙量杯,再将丙量杯的酒倒入乙量杯,最后把乙量杯的酒,倒入甲量杯,即可完成。

(六) + = 丁时:此时需将甲量杯的酒,倒入乙量杯,再将乙量杯的酒倒入丙量杯,最后把丙量杯的酒,倒入甲量杯,即可完成。

但是会被出来考人的题目,岂能那么简单就被解出来,以范例题来说,必须要倒来倒去达 8 个步骤,如果不实际动手倒倒看,或以笔记录推导倒酒的过程,很难推算出来。所以如果没有一个有规则的策略,很可能东倒西倒,多出许多不必要的动作,所以我们对于「任意的指定量,是否能找到一个固定的策略,只要循此规则操作,必可得到所要的结果 」有了兴趣。

以下先从范例题,来推导可能的解题策略:

( ) 解法 1

(10)

(7)

(3)

操作说明

(0)

10

0

0

各量杯起始的量

(1)

3

7

0

先用甲量杯的酒,把乙量杯倒满,

甲量杯余 3 公升 ,乙量杯被倒满为 7 公升

(2)

3

4

3

用乙量杯中的酒,把丙量杯倒满,
乙量杯余 4 公升 ,丙量杯被倒满为 3 公升

(3)

6

4

0

把丙量杯中的酒,倒回甲量杯,
甲量杯增为 6 公升 ,丙量杯为 0 公升

(4)

6

1

3

用乙量杯中的酒,把丙量杯倒满,
乙量杯余 1 公升 ,丙量杯被倒满为 3 公升

(5)

9

1

0

把丙量杯中的酒,倒回甲量杯,
甲量杯增为 9 公升 ,丙量杯为 0 公升

(6)

9

0

1

把乙量杯中余下的 1 公升 酒,倒入丙量杯,
乙量杯剩 0 公升 ,丙量杯为 1 公升

(7)

2

7

1

用甲量杯中的酒,把乙量杯倒满,
甲量杯余 2 公升 ,乙量杯被倒满为 7 公升

(8)

2

5

3

用乙量杯中的酒,把丙量杯倒满,因为丙量杯已有 1 公升 酒,所以乙量杯只用去 2 公升 ,剩下 5 公升 ,操作至此,已完成题目的要求,量出 5 公升 的酒了。

 


( ) 解法 2

(10)

(7)

(3)

操作说明

(0)

10

0

0

各量杯起始的量

(1)

7

0

3

先用甲量杯的酒,把丙量杯倒满,
甲量杯余 7 公升 ,丙量杯被倒满为 3 公升

(2)

7

3

0

把丙量杯中的酒,倒至乙量杯,
乙量杯增为 3 公升 ,丙量杯为 0 公升

(3)

4

3

3

用甲量杯的酒,把丙量杯倒满,
甲量杯余 4 公升 ,丙量杯被倒满为 3 公升

(4)

4

6

0

把丙量杯中的酒,倒至乙量杯,
乙量杯增为 6 公升 ,丙量杯为 0 公升

(5)

1

6

3

用甲量杯的酒,把丙量杯倒满,
甲量杯余 1 公升 ,丙量杯被倒满为 3 公升

(6)

1

7

2

把丙量杯中的酒,倒至乙量杯,
因为乙量杯已有 6 公升 ,所以只用掉 1 公升 ,此时乙量杯被倒满为 7 公升 ,丙量杯余 2 公升

(7)

8

0

2

把乙量杯的酒,倒至甲量杯,
甲量杯增为 8 公升 ,乙量杯为 0 公升

(8)

8

2

0

把丙量杯中的酒,倒至乙量杯,
乙量杯增为 2 公升 ,丙量杯为 0 公升

(9)

5

2

3

用甲量杯的酒,把丙量杯倒满,操作至此,
甲量杯恰余 5 公升 ,完成题目的要求,量出 5 公升 的酒了。

 


( ) 经研究分析之后,我们发现有两种策略可完成倒酒任务:

方法 1 :以乙量杯为主:

操作 (1) :将甲量杯的酒倒入乙量杯。

操作 (2) :将乙量杯的酒倒入丙量杯。

操作 (3) :如果乙量杯中已没酒了,直接回到操作 (1)

如果乙量杯中还有酒,且丙量杯也已倒满酒,那就先将丙量杯的酒倒回甲量杯,然后回到操作 (2) 继续操作。

方法 2 :以丙量杯为主 ( 过程同方法 1 ,但乙、丙互易 )

操作 (1) :将甲量杯的酒倒入丙量杯。

操作 (2) :将丙量杯的酒倒入乙量杯。

操作 (3) :如果丙量杯中已没酒了,直接回到操作 (1)

如果丙量杯中还有酒,且乙量杯也已倒满酒,那就先将乙量杯的酒倒回甲量杯,然后回到操作 (2) 继续操作。

二、以不定方程式来探讨是否可将酒分成两半

在范例题中,我们发现老板要分的酒,是将甲分为两半,亦即丁为甲的一半。类似的问题,我们可以使用「不定方程式」,来了解要求这样把酒分半的问题是「有解」,抑或「无解」!

( 范例题 )

以范例题为例,我们可假设老板将酒倒进 7 公升 的量杯 x 次;酒由 7 公升 量杯倒进 3 公升 的量杯 y 次,因为最后 7 公升 量杯内装 5 公升 酒,所以 7x-3y=5

,且 t 是正整数。

x=3t-1

y=2(3t-1)-2+t=7t-4

所以

若取 t=1

x=2 y=3 ;也就是说在倒 的过程中,老板将 倒进 7 公升 的量杯 2 7 公升 量杯倒进 3 公升 的量杯 3 ,就可以完成老板和农夫的需求,倒出 5 公升
如果以 ( , , ) 表示容积 10 公升 7 公升 3 公升 量杯内酒的容量,则过程是 (10,0,0)→(3,7,0)(3,4,3) →(6,4,0)→(6,1,3)→(9,1,0)→(9,0,1)(2,7,1)(2,5,3) →(5,5,0)

 

( 范例二 )

如果量杯的容积分别是 10 公升 7 公升 4 公升 假设老板将酒倒进 7 公升 的量杯 x 次;酒由 7 公升 量杯倒进 4 公升 的量杯 y 次, 7x-4y=5

,且 t 是正整数。

若取 t=2

x=3 y=4 ;也就是说在倒 的过程中,老板将 倒进 7 公升 的量杯 3 7 公升 量杯倒进 4 公升 的量杯 4 ,即可完成老板和农夫的需求,倒出 5 公升

(10,0,0) (3,7,0) (3,3,4) (7,3,0) (7,0,3) (0,7,3) (0,6,4) (4,6,0) (4,2,4) (8,2,0) (8,0,2) (1,7,2) (1,5,4) (5,5,0)

 

( 范例三 )

如果量杯的容积分别是 10 公升 6 公升 4 公升 假设老板将酒倒进 6 公升 的量杯 x 次;酒由 6 公升 量杯倒进 4 公升 的量杯 y 次, 6x-4y=5

,且 t 是正整数。

由上述方程式得知,因为 t 为正整数,所以得出 x,y 不是正整数,这和假设不符,表示本题无解。

另: 6x 4y 都是偶数,其差也必为偶数,所以不可能得到指定的酒量 5 公升

 

( 范例四 )

如果量杯的容积分别是 10 公升 8 公升 2 公升 假设老板将酒倒进 8 公升 的量杯 x 次;酒由 8 公升 量杯倒进 2 公升 的量杯 y 次, 8x-2y=5


t=4x ,且 t 是正整数。

由上述方程式得知, t 若为正整数,则 x,y 没有正整数解。

另: 8x 2y 都是偶数,其差也必为偶数,所以不可能得到指定的酒量 5 公升

结语: 当我们以不定方程式求解甲量杯的酒量是否可分半时:

1.   ( , )=m( 表示乙和丙的最大公因子为 m) ,且 m 是丁的因子 ,则表示不定方程式有整数解,也就是分酒问题是有解的。

例如范例一 (7,3)=1 1 5 的因子,因此分酒问题是有解的;

范例二 (7,4)=1 1 5 的因子,因此分酒问题是有解的;

2.   ( , )=m ,且 m 不是丁的因子 ,则表示不定方程式没有整数解,也就是分酒问题是无解的。

例如范例三 (6,4)=2 2 不是 5 的因子,因此分酒问题是无解的;

范例四 (8,2)=2 2 不是 5 的因子,因此分酒问题是无解的;

注:以上的推导过程已假设甲是偶数 ( 因为要分半 ) 及乙 > 丁,且只考虑倒出的指定量是产生在乙量杯中。如果甲不为偶数,倒出的指定量也不是甲的一半时,丁酒量可能会产生在甲量杯中,此时请自行类推。

三、怎样的量杯组合,可以倒出任意的指定量来?

由上面的推导,我们已知道有些量杯的组合不能将甲酒量分半,有些则可以。那么更进一步:「怎样的量杯组合,才可以分出任意指定量的酒」? ( 假设要求倒出的酒量必须产生在三个量杯之一,不得两杯合起来算 ) 经我们的归纳,有以下的结论:

(一)   ( , ) 1 且乙 + -2 ≦甲≦ 2 ×乙 + +1 时,

可使用这三种量酒杯,调出 1 ~甲的所有量。

例如: {10,5,3} 的组合中 ,

( , )=(5,3)=1 6 ≦乙 + -2 ≦甲 =10 2 ×乙 + +1=14

( 10 ,0,0) (5, 5 ,0) (5, 2 , 3 ) ( 8 ,2,0) (8,0,2) (3,5,2) (3, 4 ,3) ( 6 ,4,0) (6, 1 ,3) ( 9 ,1,0) (9,0,1) (4,5,1) (4,3,3) ( 7 ,3,0) (7,0,3) (2,5,3) (5,5,0)

可调出 1 10 的所有容量来。

例如: {8,5,2} 的组合中 ,

( , )=(5,2)=1 5 ≦乙 + -2 ≦甲 =8 2 ×乙 + +1=13

  ( 8 ,0,0) ( 3 , 5 ,0) (3,3, 2 ) (5,3,0) (5, 1 ,2) ( 7 ,1,0) (7,0,1) (2,5,1) (2, 4 ,2) (4,4,0) (4,2,2) ( 6 ,2,0) (3,5,0) (3,3,2) (5,3,0) (5,1,2)

可调出 1 8 的所有容量来。

例如: {10,7,3} 的组合中 ,

( , )=(7,3)=1 8 ≦乙 + -2 ≦甲 =10 2 ×乙 + +1=18

  ( 10 ,0,0) ( 3 , 7 ,0) (3, 4 ,3) ( 6 ,4,0) (6, 1 ,3) ( 9 ,1,0) (9,0,1) ( 2 ,7,1) (2, 5 ,3) (5,5,0) (5,2,3) ( 8 ,2,0)

可调出 1 10 的所有容量来。

例如: {8,3,2} 的组合中 ,

( , )=(3,2)=1 3 ≦乙 + -2 ≦甲 =8 2 ×乙 + +1=9

  ( 8 ,0,0) ( 3 , 5 ,0) (3, 2 ,3) ( 6 ,2,0) (6,0,2) ( 1 ,5,2) (1, 4 ,3) (4,4,0) (4,1,3) ( 7 ,1,0)

可调出 1 8 的所有容量来。

例如: {10,3,2} 的组合中 ,

( , )=(3,2)=1 ,因为甲 =10>2 ×乙 + +1=9

  ( 10 ,0,0) ( 7 , 3 ,0) (7, 1 , 2 ) ( 9 ,1,0) (9,0,1) ( 6 ,3,1) (6,2,2) ( 8 ,2,0) (8,0,2) ( 5 ,3,2)

可调出 1,2,3,5,6,7,8,9,10 4 来。

例如: {8,6,5} 的组合中 ,

( , )=(6,5)=1 ,因为甲 =8< + -2=9

  ( 8 ,0,0) ( 2 , 6 ,0) (2, 1 , 5 ) ( 7 ,1,0) (7,0,1) (1,6,1) (1,2,5) (6,2,0) (6,0,2) (0,6,2) (0,3 ,5) (5,3,0) (5,0,3) (0,5,3) (0,3,5)

可调出 1,2,3,5,6,7,8 4 来。

(二)         ( , )=2 且甲 = + -1 或乙 + -3

可使用这三种量酒杯,调出 1 ~甲的所有量。

例如: { 13,8,6} 的组合中,

( , )=(8,6)=2 ,甲 =13= + -1

( 13 ,0,0) ( 5 , 8 ,0) (5,2 ,6 ) (11 ,2,0) (11,0,2) (3 ,8,2) (3,4 ,6) (9 ,4,0) (9,0,4) (1 ,8,4) (1,6,6) (7 ,6,0) (7,0,6) (0,7,6) (6,7,0) (6,1,6) (12 ,1,0) (12,0,1) (4,8,1) (4,3,6) (10 ,3,0) (10,0,3) (2,8,3) (2,5,6) (8,5,0) (8,0,5) (0,8,5) (0,7,6)

可调出 1 13 的所有容量来。

例如: { 11,8,6} 的组合中,

( , )=(8,6)=2 ,甲 =11= + -3

( 11 ,0,0) ( 3 , 8 ,0) (3,2 ,6 ) (9 ,2,0) (9,0,2) (1 ,8,2) (1,4 ,6) (7 ,4,0) (7,0,4) (0,7,4) (0,5 ,6) (6,5,0) (6,0,5) (0,6,5) (0,5,6)

(0,7,4) (4,7,0) (4,1,6) (10 ,1,0)

可调出 1 11 的所有容量来。

例如: { 12,8,6} 的组合中,

( , )=(8,6)=2 ,甲 =12 + 丙- 1=13 或乙 + 丙- 3=11

( 12 ,0,0) ( 4 , 8 ,0) (4,2 ,6 ) (10 ,2,0) (10,0,2) (2,8,2) (2,4,6) (8,4,0) (8,0,4) (0,8,4) (0,6,6) (6,6,0) (6,0,6) (0,6,6)

可调出偶数的量而调不出奇数的量。

例如: { 9,4,2} 的组合中,

( , )=(4,2)=2 ,甲 =9 + 丙- 1=5 或乙 + 丙- 3=3

( 9 ,0,0) ( 5 , 4 ,0) (5,2 ,2 ) (7 ,2,0) (7,0,2) (3 ,4,2) (5,4,0)

调不出 1,6,8 的量来。

四、结语:

(一)、 这个游戏的一般出题将甲酒量分半,可以套用固定的解题策略。

(二)、 判断指定的甲、乙、丙量杯组合,是否可将甲的酒量分半出丁的方法是:判断乙丙的最大公因素是否为丁的因素,若为因素则可,反之为否。

(三)、 下面的量杯组合,可以倒出任意的指定量来,否则不行:

1、 ( , ) 1 且乙 + -2 ≦甲≦ 2 ×乙 + +1

2、 ( , )=2 且甲 = + -1 或乙 + -3

 

你可能感兴趣的:(游戏,工具,任务)