Kolakoski sequence(1)
オンライン整数列大辞典の
A000002(http://oeis.org/A000002/list)
と比較し、答え合わせしてみる。
A000002(http://oeis.org/A000002/list)
と比較し、答え合わせしてみる。
def A000002(n)
ary = [1, 2]
b_ary = [2]
# 次の文字
str = 1
ary += b_ary
while ary.size < n
f_ary, b_ary = b_ary, []
(0..f_ary.size - 1).each{|i|
b_ary += [str] * f_ary[i]
# 次の文字
str = 1 + str % 2
}
ary += b_ary
end
ary[0..n - 1]
end
ary = A000002(108)
# OEIS A000002のデータ
ary0 =
[1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1,2,1,1,2,
1,2,2,1,1,2,1,1,2,1,2,2,1,2,2,1,1,2,1,2,2,1,2,1,1,
2,1,1,2,2,1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,1,2,
2,1,2,1,1,2,2,1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,
2,1,2,1,1,2,1,2,2]
# 一致の確認
p ary == ary0
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。