打印

[求助求解] 取水问题

取水问题

有3升和5升的杯子,只允许用这两个杯子从水池里取回4升水,应该怎么操作呢?
把问题一般化:
有a升和b升的杯子,只允许用这两个杯子从水池里取回c升水,应该怎么操作呢?其中a、b、c都是正整数,(a,b)=1,c<max(a,b)。

TOP

第一个问题是谁称油来着?被老兄灌成了水,可见现在的油价。
版主醉翁之意在第二个问题。

TOP

不许用别的容器?

TOP

哦,知道了,5升装满,倒入3,余2,把小的倒空,倒入刚才的2升,再5装满,倒入小的(缺1升就满了),余4升

TOP

不妨设a>b,容器相应的是A,B
可以有的数据是a,b,a-kb(说明k是正整数,a-kb≥0,A中每次去掉b升.....①),
若a=mb+r,(m为正整数,0<r<b),那么把r倒入B,然后A装满,倒满B,A中留有a-(b-r),再重复①的操作。就有a-(b-r)-tb(说明t是正整数,a-(b-r)-tb》0)
a-(b-r)-tb=2r ,(mod  b)
依次重复①的操作有r,2r,3r,.....,(mod b),这是b的完全剩余系,总可以不停添b或减b变为1,2,3,...,b

[ 本帖最后由 执白 于 2008-3-18 15:40 编辑 ]

TOP

回复 5楼 的帖子

执白老师做得很好啊!

TOP

再把问题一般化:有$n$个杯子,其容量都是整数生,第$i$个杯子容量为$a_i$,$(a_1,a_2,...,a_n)=1$,只用这$n$个杯子取回$b$升水,应该怎样操作?其中$b$是正整数,$b<max(a_1,a_2,...,a_n)$。

TOP

得到某个特定的数据,上面操作不一定是最快的,比如已经得到c的情况下,不是重复①的操作而是把c倒入空的A,可以依次得到c+kb(说明k是正整数,c+kb<a,设k1是k的最大值)和c+(k1+1)b-a

TOP

呵呵,谢谢夸奖

TOP

1楼问题稍微修改下:
有a升和b升的杯子,只允许用这两个杯子从水池里取回c升水,应该怎么操作呢?其中a、b、c都是正整数,(a,b)=t(0<t<min(a,b),t是正整数),c还有什么特点才能够达成。----②
(好像c=kt,k是正整数,这样直观理解:容器都缩小到原来的1/t,就化为1楼问题了,当然只规定①的操作,不能是圆柱型的容器,可以倾斜,留下a/2,b/2什么的)
7楼b先简化为,b<min(a1,a2,  ,an)

[ 本帖最后由 执白 于 2008-3-19 07:28 编辑 ]

TOP

这样看来,只可付诸计算机程序,这样的分液操作一定可以办到。
知之深,爱之切
人静而后安,安而能后定,定而能后慧,慧而能后悟,悟而能后得!

TOP

回复 11楼 的帖子

应该是的,细节没仔细考虑

任意取ai,aj因为10楼的②,可以得到体积(ai,aj)=r1,找到不被(ai,aj)整除的ak,
可以得到(r1,ak)=r2,可以看到r2<r1,重复这个操作,因为(a1,a2,....an)=1,总会有$r_m$=1(存在某个整数m)

TOP

只要最后能凑出1升水,就大功告成啦。

TOP

回复 13楼 的帖子

是啊,不过最好得有比较具体的操作方法。

TOP

我插一句嘴:什么样的坛子A与B能做到量出C升水?(C<A、C<B)
我有个结论,先不说,大家说说,看看对不
现决定不再投诉违规贴,直接予以扣分,并PM要求其删除;若下次我想起该贴并发现未删除,则随机扣其他贴的分。发贴人可自己找管理员删除主题贴。

TOP

回复15楼

你不说大家怎么知道对不对?

TOP

互质
现决定不再投诉违规贴,直接予以扣分,并PM要求其删除;若下次我想起该贴并发现未删除,则随机扣其他贴的分。发贴人可自己找管理员删除主题贴。

TOP

(a,b)=1 必存在整数 x,y 使得 ax+by=1 .
本贴谢绝加威望!!!

TOP

回复 18楼 的帖子

那些个符号和表情的意思是?直说就可以,我承受的了
现决定不再投诉违规贴,直接予以扣分,并PM要求其删除;若下次我想起该贴并发现未删除,则随机扣其他贴的分。发贴人可自己找管理员删除主题贴。

TOP

回复 19楼 的帖子

没事没事。。。那个表情我只是觉得好奇怪好搞笑。。所以发。。。
更想不通的是K12为什么会采用这个表情。。。
本贴谢绝加威望!!!

TOP

(a,b)=1 必存在整数 x,y 使得 ax+by=1
什么意思?(数学范围)
根据英语:它是“不”的意思
现决定不再投诉违规贴,直接予以扣分,并PM要求其删除;若下次我想起该贴并发现未删除,则随机扣其他贴的分。发贴人可自己找管理员删除主题贴。

TOP

回复 14楼 的帖子

我觉得12楼已经可以操作了,你指的是?

TOP

引用:
原帖由 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 编辑 ]

TOP

回复 23楼 的帖子

可是得出线性组合及辗转相除法有没对应的实际动作---指倒水杯

TOP

回复 23楼 的帖子

明白了,
比如2a-3b+c=1
就把aac倒在一起,并倒出2个b,次序可以任意(如果允许的话)

TOP

a>b,建立方程ax-by=c,解此不定方程所求得的正整数解x和y就是对应杯子(或坛子,呵呵)的操作次数;若该方程没有正整数解(x,y),则该操作不可行
生活总要继续,我会加倍努力。

TOP

经过大家讨论有了结果了,这个问题实际上就是求系数是正整数的线性方程的解,从解中寻求操作方法,这就是我给出这个问题的原意。

TOP

题目改下,有23,21,20形状不规则的容器,23升满的,其余空的,仅限于这些容器
1~23哪些体积是可以得到的?
推广为容器体积为a>b>c为正整数(为方便,a、b、c两两互素),就a是满的,b、c空的,1~a哪些体积是可以得到的?
~~~~好像就1,2,3,20,21,23,
不知道改成4或5个容器(2个满),会不会有更好结果?

[ 本帖最后由 执白 于 2008-3-29 10:42 编辑 ]

TOP

引用:
原帖由 kuing 于 2008-3-23 01:24 发表
(a,b)=1 必存在整数 x,y 使得 ax+by=1 .
这是本题有解的理论基础
如果这个结论的证明是构造性的,证明就是本题的一种方法。(忘了怎么证明的)
有空请到听雨轩喝口茶

TOP

回复 29楼 的帖子

就辗转相除做的,不停写带余除法

TOP