nを計算してkを選択し、辞書式順序ですべての可能な組み合わせを生成するこのc#クラスがあります。また、各組み合わせの注文番号を返すこともできます。たとえば、[1,2,3,4,5]を渡すと、nがk(30,5)を選択すると、1が返され、[26,27,28,29,30]の場合は142506が返されます。 。
部分的な組み合わせを含むすべての注文番号を返す方法はありますか?したがって、[1,2,3,4]を渡すと、次のようになります:1,2,3、...25,26。
1: [1,2,3,4,5]
2: [1,2,3,4,6]
3: [1,2,3,4,7]
...
25: [1,2,3,4,29]
26: [1,2,3,4,30]
宝くじ抽選にこれが必要です。各チケットにその組み合わせの注文番号を付けたいので、5つのボールのそれぞれが描かれるときに、勝者候補の合計を表示する必要があります。現在、各チケットには実際の組み合わせがあり、部分的な勝者を取得するためにクエリを実行しますが、このプロセスを最適化したいと思います。