ホームページ > バックエンド開発 > C++ > C# でリストの可能なすべての組み合わせを生成するには?

C# でリストの可能なすべての組み合わせを生成するには?

DDD
リリース: 2025-01-16 17:39:11
オリジナル
312 人が閲覧しました

How to Generate All Possible Combinations of a List in C#?

可能なすべての組み合わせのリストを生成します

C# では、整数のリストを処理する必要があるが、実行時まで項目の数がわからないという状況に遭遇することがあります。 この状況を解決するには、リストの可能なすべての組み合わせを見つけることが重要です。

これを行うには、数学的手法を利用できます:

<code class="language-csharp">static void GetCombination(List<int> list)
{
    double count = Math.Pow(2, list.Count);
    for (int i = 1; i < count; i++)
    {
        string str = Convert.ToString(i, 2);
        str = str.PadLeft(list.Count, '0');
        Console.Write("{");
        for (int j = 0; j < str.Length; j++)
        {
            if (str[j] == '1')
            {
                Console.Write(list[j] + ",");
            }
        }
        Console.WriteLine("}");
    }
}</code>
ログイン後にコピー

この方法:

  • 2^list.Count を使用して、組み合わせの合計数を計算します。
  • 結合された各インデックス i を文字列 str としてのバイナリ表現に変換します。
  • リストの長さと一致するように、文字列の先頭にゼロを埋め込みます。
  • str 内の文字を反復処理します。文字が「1」の場合、リスト内の対応する要素が出力されます。
  • インデックス i ごとにこの操作を繰り返し、可能なすべての組み合わせを生成します。

以上がC# でリストの可能なすべての組み合わせを生成するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート