【发布时间】:2018-10-15 03:25:38
【问题描述】:
请稍等片刻,我将尝试解释我想要完成的任务。我有一个 n 项的配置。此配置中的每个术语可以具有任意数量的相互不同的元素。例如:
term1 = ["hello", "greetings", "heya"] // 3 elements
term2 = ["is", "are", "you", "wow"] // 4 elements
term3 = ["doing", "now"] // 2 elements
如您所见,每个术语都有不同数量的元素。我可以通过以下方式计算组合总数:
totalSize = term1.size * term2.size * term3.size
我希望能够通过指定位置来自动获取配置。假设我总共有 1000 种可能的组合,我想找出第 500 位的哪些术语组合会得到我。
现在我正在循环整个事情以到达那个位置;这是低效的。
任何建议或见解将不胜感激,
感谢您的宝贵时间。
【问题讨论】:
-
嗨,杰克,欢迎来到该网站!关于这个问题似乎没有什么是 C++ 特有的。你添加那个标签有什么原因吗?
-
我希望能在 C++ 中找到解决问题的方法
-
啊,那么在问题中提及这一点会很有用。尽管如果您似乎只是在寻找算法的描述,人们可能会更好地回答您的问题。有时,当您看起来只是在寻找要复制和粘贴的代码示例时,人们会觉得您很懒惰(不管这是否真的),他们可能不愿意提供帮助。
-
我添加了 C++ 标志,因为我认为这更像是一个面向编码的问题;我找不到任何通用的“编程”标签——所以我选择了我最熟悉的语言。
-
好吧,我想这取决于您是想询问 C++ 代码,还是询问解决问题的一般方法。你可以用任何一种方式问这个问题。我只是说现在还不清楚你在问哪个。如果您确实想要求一种通用方法,则根本不需要一个问题具有编程语言的标签或通用标签;你可以只删除 C++ 标签就可以了。但如果你想要一个通用标签,我建议language-agnostic 和/或algorithm。
标签: c++ math combinations permutation