Connell Sequence
まずは素直にコードを書いてみた。
オンライン整数列大辞典の
A001614(http://oeis.org/A001614/list)オンライン整数列大辞典の
と比較し、答え合わせしてみる。
M = 122
ary = []
m, n = 0, 1
while m < M
m += 1
ary << m
(1..n - 1).each{|i|
m += 2
ary << m if m <= M
}
n += 1
end
# OEIS A001614のデータ
ary0 =
[1,2,4,5,7,9,10,12,14,16,17,19,21,23,25,26,28,30,
32,34,36,37,39,41,43,45,47,49,50,52,54,56,58,60,
62,64,65,67,69,71,73,75,77,79,81,82,84,86,88,90,
92,94,96,98,100,101,103,105,107,109,111,113,115,
117,119,121,122]
# 一致の確認
p ary == ary0
M = 122
ary = []
i, m = 0, 0
while m < M
i += 1
m = 2 * i - ((1 + Math.sqrt(8 * i - 7)) / 2.0).to_i
ary << m if m <= M
end
# OEIS A001614のデータ
ary0 =
[1,2,4,5,7,9,10,12,14,16,17,19,21,23,25,26,28,30,
32,34,36,37,39,41,43,45,47,49,50,52,54,56,58,60,
62,64,65,67,69,71,73,75,77,79,81,82,84,86,88,90,
92,94,96,98,100,101,103,105,107,109,111,113,115,
117,119,121,122]
# 一致の確認
p ary == ary0
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。