【发布时间】:2010-11-24 00:32:11
【问题描述】:
我遇到了一个关于组合数学的问题。不幸的是,我无法抽象地描述它,所以我试图将它解释为一个故事。 :)
问题:
- 校园里有 100 个孩子。
- 假设值是 100-199 厘米,它们都有独特的高度。
- 您要构建 10 个小组,每个小组由 1-99 个孩子组成。
- 在孩子们必须按身高排序的情况下,如何构建所有组?
- 我需要针对这些群体的所有可能解决方案,因为找到一个星座并不难。
简短易懂:
所有 100 名儿童并排站立。您只需决定在哪里将它们分成组并找到所有解决方案。
示例(值是高度):
[120 ... 190 ... 199] ... [126 ... 137 ... 144 ... 188] 不可能
[101] ... [104 ... 105 ... 112 ... 149] ... [169 ... 189] 是可能的
我希望你能帮助我。非常感谢您!
PS:这不是家庭作业。 ;) 通常,我需要一个函数来处理数字。但是我不能像“在对所有数字进行排序的同时构建 k 组数字”那样抽象地描述这一点。我以为你不会这样理解。 :) PHP 的解决方案是最好的,但我也很高兴看到其他语言的解决方案。 :)
【问题讨论】:
-
最后你不用把100个孩子都放在组里吧?
-
只是为了检查我理解 - 你的第一个例子是不可能的,因为 190(第一组)大于 126(第二组)?
-
@Bruno Reis:是的,您必须将每个孩子都归为一个组。你是对的,这个例子有点令人困惑。我用“...”更正了它
-
@marco92w:在第二个例子中,孩子 106 在哪里?在 [104, 105, 112, 149] 的左边?还是在它的右边?我不明白为什么这是可能的,而第一个是不可能的。
-
另一个问题:您是否必须精确地建立 10 个组?还是最多10组?您的问题没有得到很好的解释...
标签: php combinatorics combinations