Toothpick Sequence(2)
A147614 およびA139250 を出力してみた。
def A(n)
a = [[0, 0]]
# 爪楊枝の上にある格子点の個数
g = [0]
# 次のステップで置く爪楊枝の真ん中
b = [[0, 0]]
s = 0
ary = [0]
(1..n).each{|i|
c = []
s += b.size
ary << s
b.each{|j|
k, l = i % 2, (i + 1) % 2
c << [j[0] + k, j[1] + l]
c << [j[0] - k, j[1] - l]
}
b = c.group_by(&:to_a).select{|k, v| v.size == 1}.keys - a
a += c
a.uniq!
g << a.size
}
p g
ary
end
p A(20)
出力結果
[0, 3, 7, 13, 19, 27, 39, 53, 63, 71, 83, 99, 119, 147, 183, 217, 235, 243, 255, 271, 291]
[0, 1, 3, 7, 11, 15, 23, 35, 43, 47, 55, 67, 79, 95, 123, 155, 171, 175, 183, 195, 207]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。