0

可能重复:
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。

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

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

4

2 回答 2

1

您真正需要的是正确利用递归。我认为使用递归的 C# 中的排列正是您正在寻找的。

于 2012-07-13T05:50:07.607 回答
-1

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

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

于 2012-07-13T05:40:37.927 回答