2015年12月31日木曜日

151231(6)

Ruby


Numbers that are not the sum of distinct squares

オンライン整数列大辞典の
A001422(http://oeis.org/A001422/list)
と比較し、答え合わせしてみる。

def A001422()
  # 145以上の自然数は異なる四角数の和で表されることが証明できているものとする
  ary = (1..12).map{|i| i * i}
  a_ary = []
  (1..ary.size).each{|i|
    ary.combination(i){|c|
      a_ary << c.inject(:+)
    }
  }
  (1..144).to_a - a_ary.uniq
end
ary = A001422()

# OEIS A001422のデータ
ary0 =
[2,3,6,7,8,11,12,15,18,19,22,23,24,27,28,31,32,33,
 43,44,47,48,60,67,72,76,92,96,108,112,128]
# 一致の確認
p ary == ary0

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。