2016年1月1日金曜日

160101(2)

Ruby


p(pn | 和因子は素数)(3)

A056768(10 ** i) を求めてみた。
(実行時間は1日弱かかる。)

require 'prime'

def A056768(n)
  ary = Prime.each.take(n)
  m = ary[-1]
  ps = Array.new(m + 1){0}
  ps[0] = 1
  a_ary = []
  ary.each{|num|
    (num..m).each{|i|
      ps[i] += ps[i - num]
    }
    a_ary << ps[num]
  }
  a_ary
end

N = 5
ary = A056768(10 ** N)
(0..N).each{|i| p ary[10 ** i - 1]}

出力結果
1
87
1303426263832
12894826873899116054913126843433822754488845336
59297122488176046527276495695240938774469036570082265227581152456121000044838710925413530862090639867698794811117315018930415561790995646420757355784821641
432245154672676311720174026828773561615979444312159898324558357874237663522068861536434676316187930531954713544668393632940334786762468665793349628800099476159032567883734857417914774808937048845065107468925443308005456986114517905702742908880227207504436503313662216729068209894953647345235723329044916353018861311292373651384456117718412553240415517097034538893031832457055367114433692033780917073218184187715800165542393549391252259165149535482209420543409046597353131204503434013870928700065157

0 件のコメント:

コメントを投稿

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