【问题标题】:Finding all possible combinations of numbers [duplicate]找到所有可能的数字组合[重复]
【发布时间】:2012-07-13 05:34:18
【问题描述】:

可能重复:
Combination Generator in Linq

我正在寻找一种算法(使用 C#),它可以
找出指定数字的所有组合。
示例:
数字:
1 2 3
组合:
1
2
3
12
13
21
23
31
32
123
132
213
231
312
321

唯一规则:数字不重复

我浏览了GoogleStackoverflow 以及许多其他网站。
我会列出我的一些代码,但我没有成功地让任何事情沿着正确的路线工作。

编辑: 这样做的目的是使用生成的数字作为单词中字符的位置。我正在创建一个单词查找器,所以基本上这就是它的用途:

程序生成:
0
1
01
10

从数字:0 1

程序从用户输入的数字 0 和 1 中得到数字 0 和 1,例如“no”。

示例代码:
字符串输入 = Console.ReadLine();
整数大小=输入。长度; //这就是0和1的来源

因此不同的组合会重新排列字母,以输入单词的长度为基础,然后将其与单词列表进行比较,我可以找到现有的单词。

【问题讨论】:

  • 您仍然应该发布您的代码并提出具体问题。 SO喜欢在提问者的部分​​看到一些的努力。
  • 我注意到没有重复。给出的链接有所不同
  • 到目前为止我所做的一切都没有为这个问题带来任何好处。如果我发现可以从中受益的东西,那么我会发布它。

标签: c# permutation combinations


【解决方案1】:

您真正需要的是正确利用递归。我认为Permutations in C# Using Recursion 正是您想要的。

【讨论】:

  • 这有很大帮助...谢谢!
  • @Jason753951,欢迎。它更简单。
  • 这给了我一些思考......当我问这个问题时,我无处可去。
  • @Nero:链接本身不是答案。如果该链接断开,您的“答案”将毫无用处。至少在这里解释一下。该链接应该支持您的答案,而不是成为它。
  • @cHao:只是认为它会提供即时帮助。但没关系,注意点。
【解决方案2】:

我会做更多的研究,因为我有时间并尝试改进我的答案。

您的程序正在处理组合数学(您可以通过谷歌搜索并阅读)。有一个公式可以计算你的答案。关于订单,您的问题属于“从 n 中选择 x”种类。

【讨论】:

  • 在您得到正确答案之前,请不要发布答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 2019-05-24
  • 1970-01-01
  • 2020-07-28
  • 2012-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多