引用:
原帖由 Joseph 于 2008-3-18 15:46 发表 
再把问题一般化:有n个杯子,其容量都是整数生,第i个杯子容量为ai,(a1,a2,...,an)=1,只用这n个杯子取回b升水,应该怎样操作?其中b是正整数,b<max(a1,a2,...,an)。
问题等价于(a1,a2,...,an)=1,将b表示成a1,a2,...,an的整系数线性组合。
注意到下面这个熟知的结论:
(a1,a2,...,an)是a1,a2,...,an的整系数线性组合所能表出的最小正整数。
现在,由于(a1,a2,...,an)=1,因此a1,a2,...,an的整系数线性组合可表出1,因此可以表出任意整数,所以当然能表出b.
至于具体的,怎么求这些整系数,当然最好的方法就是欧几里德辗转相除法了。
[
本帖最后由 wantnon 于 2008-3-24 17:20 编辑 ]