我正在研究一种算法(使用C#)
找到指定数字的所有组合。
例如:
编号:
1 2 3
组合:
1
2
3
12个
13个
21个
23个
31个
32个
123个
132个
213个
231个
312个
321
仅限规则:不重复数字
我查看了Google,Stackoverflow以及其他许多网站 我会列出我的一些代码,但是我没有成功地按照正确的方式工作。
编辑: 这样做的目的是使用生成的数字作为单词中字符的位置。我正在创建一个文字查找器,所以基本上这就是它的用途:
程序生成:
0
1
01
10
来自数字:0 1
程序从输入的用户输入数字0和1,例如“no”。
示例代码:
string input = Console.ReadLine();
int size = input.Length; //这是0和1来自
因此,不同的组合将重新排列字母,使用输入的单词的长度作为基础,然后将其与单词列表进行比较,我可以找到现有单词。
答案 0 :(得分:1)
您真正需要的是正确使用递归。我认为Permutations in C# Using Recursion正是您所寻找的。 p>
答案 1 :(得分:-1)
我会有更多的研究,因为我有时间并试着改善我的答案。
你的程序正在处理组合数学(你可以谷歌和阅读)。有一个计算答案的公式。您的问题属于关于订单的“从x中选择x”。