5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Ruby初心者スレッドPart6

565 :デフォルトの名無しさん:2006/06/23(金) 23:14:50
rubyというよりはアルゴリズムに関する質問なのですが、配列の要素をある数だけ
組み合わせた配列を求めるにはどのようにすればいいのでしょうか。
個数(n)と配列(a)が入力され、r==a.sizeとすると、出力は、nCr個の配列がでる感じです。
出力の順序や、計算時間、オブジェクトがコピーされるのかなどはいまのところ気にしていません。
例をあげると以下のようになります。

p kumiawase(2,[1,2,3,4]).map{|x| x.sort}.sort
=> [[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]
4C2=(4*3)/(2*1)=6 6個の配列が出る。

p kumiawase(3,["a","b","c","d"]).map{|x| x.sort}.sort
=> [["a", "b", "c"], ["a", "b", "d"], ["a", "c", "d"], ["b", "c", "d"]]
4C3=4C1=4 4個の配列が出る。

よろしくお願いします。

256 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)