法国著名数学家波瓦松在青年时代研究过一个有趣的数学问题:某人有12品脱的啤酒瓶,想从中倒出6品脱,但他没有6品脱的容器,仅有一个8品脱和一个5品脱的容器,怎样倒才能将啤酒分为两个6品脱呢?
*问题分析与算法设计
将12品脱酒用8品脱和5品脱的空瓶平分,可以抽象为解不定方程
8x-5y=6
其意义是:从12品脱的瓶中向8品脱的瓶中倒x次,并且将5品脱瓶中的酒向12品脱的瓶中倒y次,最后在12品脱的瓶中剩余6品脱的酒。
用a、b、c代表12品脱、8品脱和5品脱的瓶子,求出不定方程的整数解,按照不定方程的意义则倒法为
a→b→c→a
x y
倒酒的规则如下
①a→b→c→a;
②b倒空后才能从a中取;
③c装满之后才能向a中倒。
按照以上规则可以编写出程序如下:
<