2015年6月13日土曜日

150613(2)

Ruby


双子素数と隣り合う双子素数の和

双子素数については、
オンライン整数列大辞典の
A001359(http://oeis.org/A001359/list)
と比較し、答え合わせしてみる。

require 'prime'

def A001359(n)
  Prime.each(n).each_cons(2).select{|p, r| r - p == 2}.map{|c| c[0]}
end
ary = A001359(1607 + 2)

# OEIS A001359のデータ
ary0 =
[3,5,11,17,29,41,59,71,101,107,137,149,179,191,
 197,227,239,269,281,311,347,419,431,461,521,569,
 599,617,641,659,809,821,827,857,881,1019,1031,
 1049,1061,1091,1151,1229,1277,1289,1301,1319,1427,
 1451,1481,1487,1607]
# 一致の確認
p ary == ary0

def A(n)
  Prime.each(n).each_cons(2).select{|p, r| r - p == 2}.map{|c| c[0] + c[1]}
end
p A(1607 + 2)

出力結果
true
[8, 12, 24, 36, 60, 84, 120, 144, 204, 216, 276, 300, 360, 384, 396, 456, 480, 5
40, 564, 624, 696, 840, 864, 924, 1044, 1140, 1200, 1236, 1284, 1320, 1620, 1644
, 1656, 1716, 1764, 2040, 2064, 2100, 2124, 2184, 2304, 2460, 2556, 2580, 2604,
2640, 2856, 2904, 2964, 2976, 3216]

0 件のコメント:

コメントを投稿

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