生成する一連の数値があり、何らかのアルゴリズムを使用して生成したいと考えています (反復または再帰は問題ではありません)。
コンテキスト化: この数値は、リストのリストを反復するためのインデックスです。順列(組み合わせ、正確にはわかりません)を行う必要がありますが、そのリストのすべての位置のすべての組み合わせを生成する必要があります。
私が取得しようとしているシーケンスと出力は次のとおりです。
1 1
2 1
3 1
4 1
5 1
1 2
2 1
3 1
4 1
5 1
1 3
2 1
3 1
4 1
5 1
1 4
2 1
3 1
4 1
5 1
1 5
2 1
3 1
4 1
5 1
1 1
2 2
3 1
4 1
5 1
1 2
2 2
3 1
4 1
5 1
1 3
2 2
3 1
4 1
5 1
1 4
2 2
3 1
4 1
5 1
1 5
2 2
3 1
4 1
5 1
1 1
2 3
3 1
4 1
5 1
1 2
2 3
3 1
4 1
5 1
1 3
2 3
3 1
4 1
5 1
1 4
2 3
3 1
4 1
5 1
1 5
2 3
3 1
4 1
5 1
1 1
2 4
3 1
4 1
5 1
など...最後の状態は次のとおりです。
1 5
2 5
3 5
4 5
5 5
各改行は反復または再帰のステップであることに注意してください。アルゴリズムは汎用でなければなりません。私が書いたこのコードは役に立ちますが、私が望むものではありません。:(
List<List<int>> lstDays = new List<List<int>>
{
new List<int>{1,2,3,4,5}, //day 18
new List<int>{1,2,3,4,5}, //day 19
new List<int>{1,2,3,4,5}, //day 22
new List<int>{1,2,3,4,5}, //day 23
new List<int>{1,2,3,4,5}, //day 24
};
for(int i=0;i<lstDays.Count;i++)
{
for(int j=0;j<lstDays[i].Count;j++)
{
for(int k=0;k<lstDays.Count;k++)
{
Console.Write(k+1);
//Console.Write(j+1);
Console.Write('\n');
}
Console.Write('\n');
}
}
あなたが私を助けてくれることを願っています!(: