查找所有可能的数字组合

时间:2012-07-13 05:34:19

标签: c# permutation combinations

  

可能重复:
  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,例如“no”。

示例代码:
string input = Console.ReadLine();
int size = input.Length; //这是0和1来自

的地方

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

2 个答案:

答案 0 :(得分:1)

您真正需要的是正确使用递归。我认为Permutations in C# Using Recursion正是您所寻找的。

答案 1 :(得分:-1)

我会有更多的研究,因为我有时间并试着改善我的答案。

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