泊松分酒是一个著名的智力测试题,也是一个有难度的过程模拟经典案例;
1.案例提出:
法国数学家泊松(Poisson)曾提出以下分酒趣题:
- 某人有一瓶12品脱(容量单位)的酒,同时有容积为5品脱与8品脱的空杯各一个,借助这两个空杯,如何将这瓶12品脱的酒平分?
我们要解决一般的平分酒案例:
- 借助容量分别为bv与cv(单位为整数)的两个空杯,用最少的分倒次数把总容量为偶数a的酒平分,这里正整数bv、cv与偶数a均从键盘输入;
2.模拟设计:
求解一般的“泊松分酒”问题:借助容积分别为整数bv、cv的两个空杯,用最少的分倒次数把总容量为偶数a的酒(并未要求满瓶)平分,采用直接模拟平分过程的分倒操作;
为了把键盘输入的偶数a通过分倒操作平分为两个i: i=a/2 (i为全局变量),设在分倒过程中:
瓶A中的酒量为a(0<=a<=2*i);
杯B(容积为bv)中的酒量为b(0<=b<=bv);
杯C(容积为cv)中的酒量为c(0<=c<=cv