a********g 发帖数: 69 | 1 给定一个数组A代表n个没刻度的水桶,a1, a2, ..., an是这n个水桶的容量(升)。给
定一个目标数字b升,要求给出一个算法,要么返回false(用这些桶不能倒出b升水)
,要么返回一系列步骤,得出最后某个水桶里正好盛了b升水。初始状态是第一个桶是
满的,其他桶都是空的。
我知道这个问题跟最大公约数有关,即b必须是a1, a2, ... an 的最大公约数的倍数才
能得到。但是跟传统倒水题目不同,可取的水不是无限多的,每个容量的桶也只有一个
。还知道这个算法可以用递归来写。有没有版上大牛帮忙看看的?万分感谢! |
|