2016年3月12日土曜日

160312

Ruby


Derangement(1)

オンライン整数列大辞典の
A000166(http://oeis.org/A000166/list)
と比較し、答え合わせしてみる。

def A000166(n)
  a, b = 1, 0
  ary = [a, b]
  (1..n - 1).each{|i|
    a, b = b, (a + b) * i
    ary << b
  }
  ary[0..n]
end
ary = A000166(23)

# OEIS A000166のデータ
ary0 =
[1,0,1,2,9,44,265,1854,14833,133496,1334961,
 14684570,176214841,2290792932,32071101049,
 481066515734,7697064251745,130850092279664,
 2355301661033953,44750731559645106,
 895014631192902121,18795307255050944540,
 413496759611120779881,9510425471055777937262]
# 一致の確認
p ary == ary0

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。