[#44066] Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

18 messages 2007/10/04
[#44067] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Takahiro Kambe <taca@...> 2007/10/04

こんにちは。

[#44068] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/04

前田です。

[#44090] Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...>

こんにちは。

19 messages 2007/10/07
[#44091] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/09

なかだです。

[#44097] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/10

こんばんは、中田さん。

[#44098] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "U.Nakamura" <usa@...> 2007/10/10

こんにちは、なかむら(う)です。

[#44103] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/11

こんにちは、中村さん。

[#44104] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/11

なかだです。

[#44105] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/12

そうなんですか。

[#44106] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "きむらこういち" <hogemuta@...> 2007/10/12

木村です。

[#44108] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — pegacorn <subscriber.jp@...> 2007/10/12

From: "きむらこういち" <hogemuta@gmail.com>

[#44109] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "Nobuyoshi Nakada" <nobu@...> 2007/10/13

なかだです。

[#44125] ruby-tk with tcltk8.5b1 — Ryutaro Amano <wn9r-amn@...>

天野竜太郎と申します。

14 messages 2007/10/19

[#44147] 2個づつの組を作る方法のすべて — "142QN4969@..." <ohrs@...>

小原と申します。御世話になっています。

15 messages 2007/10/27

[ruby-list:44147] 2個づつの組を作る方法のすべて

From: "142QN4969@..." <ohrs@...>
Date: 2007-10-27 16:52:14 UTC
List: ruby-list #44147
 小原と申します。御世話になっています。

 2*n 個の集合から、二個づつを取って n 個の組を作る全て
 の作りかたを、列挙する script が分からなくて少し
 困っています。例えばこんなやつです。

 [1,2,3,4] => [[[1,2],[3,4]],[1,3][2,4],[1,4],[2,3]]]

 以下は、苦し紛れに作ったものですが、変な動きをする
 場合があります。
 幼稚な質問かもしれませんが、どなたか御指導下さい。

#-----------------------------------------#
#!/usr/bin/env ruby

# サイズ 2*n の配列 a から
# 2個の要素の組をn個作る方法は
# (2n-1)*(2n-3)*....*3*1  通りある。(?)
# その全てを列挙する

def f(a)     # 平滑化した配列
  n=a.size/2
  gg=[];hh=[]
  if n==1
    hh=[[a[0],a[1]]]
  else
    i=1
    while i<2*n
      g=[a[0],a[i]];gg.push(g)
      i+=1
    end
    h=[]
    gg.each{|g|;ff=f(a-g);next if ff==[]
      ff.each{|x|;h=g+x;hh.push(h)}
    }
    hh
  end
end

def fa(a)    # 2個づつの組にした配列の配列
  b=f(a);bb=[]
  b.each{|x|
    i=0;j=0;y=[]
    while x[i]
      y[j]=[x[i],x[i+1]];i+=2;j+=1
    end
    bb.push(y)
  }
  bb
end

#------------------------------------------------------#

 a=[1,2,3,4]
 fa(a)=>[[[1,2],[3,4]],[[1,3],[2,4]],[[1,4],[2,3]]]
 b=[1,2,3,1]
 fa(b)=>[[[1, 1], [2, 3]]]

 以上、よろしくお願いします。


 

In This Thread

Prev Next