From: Harry Kakueki Date: 2007-10-28T10:12:54+09:00 Subject: [ruby-list:44149] Re: 2個づつの組を作る方法のすべて On 10/28/07, 142QN4969@plala.or.jp wrote: > 小原と申します。御世話になっています。 > > 2*n 個の集合から、二個づつを取って n 個の組を作る全て > の作りかたを、列挙する script が分からなくて少し > 困っています。例えばこんなやつです。 > > [1,2,3,4] => [[[1,2],[3,4]],[1,3][2,4],[1,4],[2,3]]] > ハリーと申します。 順番はちがいますけど、 arr = %w[a, b, c, d, e, f] arr_sub, gr = arr[1..-1], [] f = arr[0] (arr.length-1).times do |y| arr_sub.each do |x| gr << [f,x] end f, arr_sub[y] = arr_sub[y], f end gr_tot = [] gr.each {|x| gr_tot << x.sort} p gr_tot.uniq Harry -- A Look into Japanese Ruby List in English http://www.kakueki.com/