n個のオブジェクトを同時にk個使用するときのインデックスのすべての組み合わせを、辞書式順序で生成します。
カテゴリ: | 組み合わせ |
制限事項: | LEXCOMBI関数は、%SYSFUNCマクロを使用するときには実行できません。 |
data _null_; array x[5] $3 ('ant' 'bee' 'cat' 'dog' 'ewe'); array c[3] $3; array i[3]; n=dim(x); k=dim(i); i[1]=0; ncomb=comb(n, k); do j=1 to ncomb+1; rc=lexcombi(n, k, of i[*]); do h=1 to k; c[h]=x[i[h]]; end; put @4 j= @10 'i= ' i[*] +3 'c= ' c[*] +3 rc=; end; run;
j=1 i= 1 2 3 c= ant bee cat rc=1 j=2 i= 1 2 4 c= ant bee dog rc=3 j=3 i= 1 2 5 c= ant bee ewe rc=3 j=4 i= 1 3 4 c= ant cat dog rc=2 j=5 i= 1 3 5 c= ant cat ewe rc=3 j=6 i= 1 4 5 c= ant dog ewe rc=2 j=7 i= 2 3 4 c= bee cat dog rc=1 j=8 i= 2 3 5 c= bee cat ewe rc=3 j=9 i= 2 4 5 c= bee dog ewe rc=2 j=10 i= 3 4 5 c= cat dog ewe rc=1 j=11 i= 3 4 5 c= cat dog ewe rc=-1