【发布时间】:2018-04-12 22:10:39
【问题描述】:
假设我= 有 5 个糖果,我想找到所有可能的组合,以便在我的 3 个孩子之间分享它们。
这将类似于以下内容:
5 for kid_A, 0 for kid_B, 0 for kid_3
0 for kid_A, 5 for kid_B, 0 for kid_3
....
4 for kid_A, 1 for kid_B, 0 for kid_3
4 for kid_A, 0 for kid_B, 1 for kid_3
....
and so on
有没有找到这种组合的算法?
到目前为止,我已经设法计算出前 3 个组合,我把所有的糖果都给了我的一个孩子,剩下的得到 0;但是一旦我完成了第一次迭代,我就迷失了如何划分。
【问题讨论】:
-
这可以很容易地递归完成。您可以给第一个孩子任意数量的糖果,然后递归地应用算法在剩余的孩子之间分配剩余的糖果。
-
@arjunsv3691 您提供的链接不适用于此问题。
-
@rici 所以我明白了;谢谢。它是一个重复,但不是那个链接。这个问题已经在 Python 和 C 中的 SO 上解决了,也许还有 Java;我看的不够仔细。
-
欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。
标签: java algorithm computation