なんのことはない。集合Aと集合Bの交差結合(総当り)を求めるだけのプログラムです。
入力は改行で区切られた1行を一要素とします。出力は左に集合Aの要素、右に集合Bの要素をならべ、それぞれをタブ2文字で区切ります。
「交差結合 (総当り・総組み合わせ)を求めるJavaScript」の続きを読む
タグ : cross,join,交差結合,組み合わせ,総当り
2014/04/22 05:45:40 | Trackbacks (0) | Comments (0) | Technology
NxNの行列があるとします。行列の要素には0からNxN-1までの数字が重複しないようにランダムに配置されています。BINGOのように、0からNxN-1までの数字を順番にランダムに選択し、選択した数字がタテ・ヨコ・ナナメいずれかで揃う場合をBINGOとします。このとき要素が異なる配置の行列でありながら、同じ数字の組み合わせでBINGOになる行列を排除したい。
そのようなBINGOで重複した順列を排除した集合を求めます。
入力は「重複順列を求めるJavaScript」や「順列を求めるJavaScript」で求めたような順列を入力します。要素の順番は右図のように並んでいるものと考えます。
結果はテキストフィールドにタブ文字で要素の区切り、改行で列の区切りとして出力されます。Excelにコピペしてください。
これで重複排除できているか自信がないです。テストあまりしていません。
「BINGOもどきのNxNの行列で同じ組み合わせでビンゴにならない順列」の続きを読む
タグ : BINGO,JavaScript,ビンゴ
2014/04/22 05:40:47 | Trackbacks (0) | Comments (0) | Technology
順列はある集合から同じ要素を2個以上使わないという条件で要素を列挙した列です。例えば、0から2までの整数[0, 1, 2]の中から3個とる順列は、
[0, 1, 2], [0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1], [2, 1, 0]
の6個です。
下記のプログラムで0からN-1までの整数からM個とる順列を求めます。結果はテキストフィールドにタブ文字で要素の区切り、改行で列の区切りとして出力されます。Excelにコピペしてください。
「順列を求めるJavaScript」の続きを読む
タグ : JavaScript,順列
2014/04/21 05:21:31 | Trackbacks (0) | Comments (0) | Technology
順列はある集合から同じ要素を2個以上使わないという条件で要素を列挙した列です。「同じ要素を2個以上使わない」という条件をつけない順列を重複順列と言います。例えば、0から2までの整数[0, 1, 2]の中から2個とる重複順列は、
[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]
の9個です。
下記のプログラムで0からN-1までの整数からM個とる重複順列を求めます。結果はテキストフィールドにタブ文字で要素の区切り、改行で列の区切りとして出力されます。Excelにコピペしてください。
結果はN^M個になるので、やり過ぎるとブラウザ固まります。また、計算途中でJavaScriptのN進数変換を使うためNは36までに制限されます。
「重複順列を求めるJavaScript」の続きを読む
タグ : JavaScript,重複順列,順列
2014/04/21 03:15:07 | Trackbacks (0) | Comments (0) | Technology
« 2013年11月 | Top | 2014年5月 »