2015年7月26日日曜日

150726(2)

Ruby


Primes of the form identical odd digits followed by a 1

オンライン整数列大辞典の
A089346(http://oeis.org/A089346/list)
と比較し、答え合わせしてみる。
(実行時間の関係で、333333333333333331 以下のものとの比較に限定。)

require 'prime'

def A089346(n)
  odds = [1, 3, 5, 7, 9]
  ary = []
  i = 1
  while
    odds.each{|j|
      m = ([j] * i).push(1).join.to_i
      break if m > n
      ary.push(m) if m.prime?
    }
    i += 1
  end
  ary
end
ary = A089346(333333333333333331)

# OEIS A089346のデータの一部
ary0 =
[11,31,71,331,991,3331,33331,99991,333331,3333331,
 9999991,33333331,555555555551,5555555555551,
 7777777777771,333333333333333331]
# 一致の確認
p ary == ary0

0 件のコメント:

コメントを投稿

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