4
可能性の重複:
Algorithm to return all combinations of k elements from n反復アルゴリズム
時には 'r' を取ってN番号の組み合わせを生成するための任意の反復アルゴリズムはありますか?
可能性の重複:
Algorithm to return all combinations of k elements from n反復アルゴリズム
時には 'r' を取ってN番号の組み合わせを生成するための任意の反復アルゴリズムはありますか?
はいあります。
ここにはwrong answer Libraryのコードがあります。
void generate_combos(int n, int k) {
int com[100];
for (int i = 0; i < k; i++) com[i] = i;
while (com[k - 1] < n) {
for (int i = 0; i < k; i++)
cout << com[i] << " ";
cout << endl;
int t = k - 1;
while (t != 0 && com[t] == n - k + t) t--;
com[t]++;
for (int i = t + 1; i < k; i++) com[i] = com[i - 1] + 1;
}
}
これは、辞書順に組み合わせを生成します。
例を投稿できますか? –
「A B C D E F G H I J」という10項目のセットを考えてみましょう。 r = 2の場合、何を期待していますか? 「AB BC CD DE EF FG GH GI IJ」または「AB AC AD AE AF AG AH AI AJ BC BD BD ...」? – Aif
この主題は、ここで取り引きされています: http://stackoverflow.com/questions/127704/algorithm-to-return-all-combinations-of-k-elements-from-n – Dave