2015年8月6日木曜日

150806

Ruby


Right-truncatable prime

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

require 'prime'

N = 49
p_ary = [2, 3, 5, 7]
odds = [1, 3, 5, 7, 9]

ary = p_ary.clone
while p_ary.size > 0
  new_p_ary = []
  p_ary.each{|i|
    odds.each{|j|
      k = (i.to_s + j.to_s).to_i
      if k.prime?
        new_p_ary.push(k)
        ary.push(k)
      end
    }
  }
  p_ary = new_p_ary
end
# 全部表示
p ary
# N番目まで
ary = ary[0..N - 1]

# OEIS A024770のデータ
ary0 =
[2,3,5,7,23,29,31,37,53,59,71,73,79,233,239,293,
 311,313,317,373,379,593,599,719,733,739,797,2333,
 2339,2393,2399,2939,3119,3137,3733,3739,3793,3797,
 5939,7193,7331,7333,7393,23333,23339,23399,23993,
 29399,31193]
# 一致の確認
p ary == ary0

出力結果
[2, 3, 5, 7, 23, 29, 31, 37, 53, 59, 71, 73, 79, 233, 239, 293, 311, 313, 317, 3
73, 379, 593, 599, 719, 733, 739, 797, 2333, 2339, 2393, 2399, 2939, 3119, 3137,
 3733, 3739, 3793, 3797, 5939, 7193, 7331, 7333, 7393, 23333, 23339, 23399, 2399
3, 29399, 31193, 31379, 37337, 37339, 37397, 59393, 59399, 71933, 73331, 73939,
233993, 239933, 293999, 373379, 373393, 593933, 593993, 719333, 739391, 739393,
739397, 739399, 2339933, 2399333, 2939999, 3733799, 5939333, 7393913, 7393931, 7
393933, 23399339, 29399999, 37337999, 59393339, 73939133]
true

0 件のコメント:

コメントを投稿

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