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を取得しました。

コード例:
string input = Console.ReadLine();
int サイズ = input.Length; //これが 0 と 1 の由来です

そのため、入力された単語の長さを基に、さまざまな組み合わせで文字を並べ替え、それを単語リストと比較すると、既存の単語を見つけることができました。

4

2 に答える 2

1

本当に必要なのは、再帰を適切に利用することです。Permutations in C# Using Recursionはまさにあなたが探しているものだと思います。

于 2012-07-13T05:50:07.607 に答える
-1

時間があればさらに調査を行い、回答を改善しようとします。

あなたのプログラムは組み合わせ数学を扱っています(グーグルで読むことができます)。答えを計算する公式があります。あなたの質問は、順序に関して「n から x を選ぶ」の種類に該当します。

于 2012-07-13T05:40:37.927 に答える