Ruby
x^(2 + 2) + (x^5 + x^13 + x^17 + … )(x^3 + x^7 + x^11 + x^19 + … )
= x^4 + x^8 + x^12 + 2x^16 + 2x^20 + 3x^24 + …
x^(4 * n) の係数が正
ということが成り立つとして、
その係数を列挙してみる。
オンライン整数列大辞典の
A069360(http://oeis.org/A069360/list)
と比較し、答え合わせしてみる。
require 'prime'
# m次以下を取り出す
def mul(f_ary, b_ary, m)
s1, s2 = f_ary.size, b_ary.size
ary = Array.new(s1 + s2 - 1, 0)
s10 = [s1 - 1, m].min
(0..s10).each{|i|
s20 = [s2 - 1, m - i].min
(0..s20).each{|j|
ary[i + j] += f_ary[i] * b_ary[j]
}
}
ary
end
def A069360(n)
m = 4 * n
ary1 = Array.new(m + 1, 0)
Prime.each(m).select{|i| i % 4 == 1}.each{|i| ary1[i] = 1}
ary3 = Array.new(m + 1, 0)
Prime.each(m).select{|i| i % 4 == 3}.each{|i| ary3[i] = 1}
a = mul(ary1, ary3, m)[0..m]
a.delete(0)
# (2 + 2) / 2 = 2 * 1の分
[1] + a
end
ary = A069360(80)
# OEIS A069360のデータ
ary0 =
[1,1,1,2,2,3,2,2,4,3,3,5,3,3,6,5,2,6,5,4,8,4,4,7,
6,5,8,7,6,12,5,3,9,5,7,11,5,4,11,8,5,13,6,7,14,8,
5,11,9,8,14,7,6,13,9,7,12,7,9,18,9,6,16,8,10,16,9,
7,16,14,8,17,8,8,21,10,8,17,10,11]
# 一致の確認
p ary == ary0
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。