combinat[nextcomb] - 組み合わせの辞書式順序の後続要素を作成
combinat[prevcomb] - 組み合わせの辞書式順序の先行要素を作成
combinat[firstcomb] - 辞書式順序の最初の組み合わせを作成
combinat[lastcomb] - 辞書式順序の最後の組み合わせを作成
|
使い方
|
|
nextcomb( s, n )
prevcomb( s, n )
firstcomb( n, k )
lastcomb( n, k )
|
|
パラメータ
|
|
s
|
-
|
set(posint); n について 1 から n の正の整数
|
n
|
-
|
nonnegint; 組み合わせの要素が選択される集合のサイズ
|
k
|
-
|
nonnegint; 組み合わせのサイズ
|
|
|
|
|
説明
|
|
•
|
n 個の {1,2, ..., n } から選択された k 個の整数の組み合わせ s (タイプ set(posint)) に対して、コマンド nextcomb は s の辞書式順序の後続要素を出力します。
|
|
s が辞書式順序の最後の組み合わせ ({ n - k + 1, n - k + 2, ..., n}) である場合は、値 FAIL が出力されます。
|
•
|
n 個の {1,2, ..., n } から選択された k 個の整数の組み合わせ s (タイプ set(posint)) に対して、コマンド prevcomb は s の辞書式順序の先行要素を出力します。
|
|
s が辞書式順序の最初の組み合わせ ({1,2, ..., k}) である場合は、値 FAIL が出力されます。
|
•
|
firstcomb コマンドは、{1, 2, ..., n } から選択された k 個の要素の辞書式順序の最初の組み合わせを出力します。これはサブセット {1,2, ..., k} です。
|
•
|
lastcomb コマンドは、{1,2, ..., n } から選択された k 個の要素の辞書式順序の最後の組み合わせを出力します。これは { n - k + 1, n - k + 2, ..., n } です。
|
|
|
互換性
|
|
•
|
combinat[nextcomb] コマンドは Maple 16 で導入されました。
|
|
|
スレッド安全性
|
|
•
|
Maple 16 から、combinat[nextcomb] コマンドはスレッドセーフになりました。
|
|
|
例
|
|
| (1) |
>
|
nextcomb( { 1, 2, 3 }, 5 );
|
| (2) |
>
|
nextcomb( { 1, 2, 3, 4 }, 4 );
|
| (3) |
>
|
prevcomb( { 2, 3, 4 }, 5 );
|
| (4) |
>
|
prevcomb( { 1, 2, 3, 4, 5 }, 5 );
|
| (5) |
| (6) |
| (7) |
|
|