2015年8月6日木曜日

150806(2)

Ruby


Number of n-digit right-truncatable primes

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

require 'prime'

def A050986()
  p_ary = [2, 3, 5, 7]
  odds = [1, 3, 5, 7, 9]

  ary = []
  while p_ary.size > 0
    ary.push(p_ary.size)
    # 次の桁で探す
    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)
        end
      }
    }
    p_ary = new_p_ary
  end
  ary
end
ary = A050986()

# OEIS A050986のデータ
ary0 = [4,9,14,16,15,12,8,5]
# 一致の確認
p ary == ary0

0 件のコメント:

コメントを投稿

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