alg : 3个量杯的问题2

前言

有3个量杯,容积分别是8升,5升,3升,分别记作a8, a5, a3.
Q:只有a8是满的,有8升水,没有其他水可用。只用这3个量杯, 使a8, a5中都称量4升水。

实验

在EA上画上3个量杯,在注释文本上捣鼓了一会, 只得到了1个解.

// method
a8 = 8; a5 = 0; a3 = 0;

a8 => a5;
a8 = 3; a5 = 5; a3 = 0;

a5 => a3;
a8 = 3; a5 = 2; a3 = 3;

a3 => a8;
a8 = 6; a5 = 2; a3 = 0;

a5 => a3;
a8 = 6; a5 = 0; a3 = 2;

a8 => a5;
a8 = 1; a5 = 5; a3 = 2;

a5 => a3;
a8 = 1; a5 = 4; a3 = 3;

a3 => a8;
a8 = 4; a5 = 4; a3 = 0;

======== a8 is 4, a5 is 4, ok ========

你可能感兴趣的:(alg : 3个量杯的问题2)