Mian-Chowla sequence
A005282(http://oeis.org/A005282/list)
と比較し、答え合わせしてみる。
N = 50
ary = [1]
s_ary = [2]
m = 2
while ary.size < N
s_ary0 = []
size = 0
ary.each{|i|
j = m + i
break if s_ary.include?(j)
s_ary0.push(j)
size += 1
}
if size == ary.size
j = m + m
if !s_ary.include?(j)
s_ary0.push(j)
# m以下のs_aryの要素は以後使わないので、除いておく
s_ary = (s_ary + s_ary0).select{|k| k > m}
ary.push(m)
end
end
m += 1
end
# OEIS A005282のデータ
ary0 =
[1,2,4,8,13,21,31,45,66,81,97,123,148,182,204,252,
290,361,401,475,565,593,662,775,822,916,970,1016,
1159,1312,1395,1523,1572,1821,1896,2029,2254,2379,
2510,2780,2925,3155,3354,3591,3797,3998,4297,4433,
4779,4851]
# 一致の確認
p ary == ary0
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。