2016年4月3日日曜日

160403

Ruby


Alternating factorial(2)

「数論〈未解決問題〉の事典」の「B43」
に素因数分解が載っていたので試してみた。
(実行時間は5分くらい。)

require 'prime'

def af(n)
  a = 0
  f = 1
  (1..n).each{|i|
    f *= i
    a = f - a
    p [i, a, a.prime_division]
  }
end

af(20)

出力結果
[1, 1, []]
[2, 1, []]
[3, 5, [[5, 1]]]
[4, 19, [[19, 1]]]
[5, 101, [[101, 1]]]
[6, 619, [[619, 1]]]
[7, 4421, [[4421, 1]]]
[8, 35899, [[35899, 1]]]
[9, 326981, [[79, 1], [4139, 1]]]
[10, 3301819, [[3301819, 1]]]
[11, 36614981, [[13, 1], [2816537, 1]]]
[12, 442386619, [[29, 1], [15254711, 1]]]
[13, 5784634181, [[47, 1], [1427, 1], [86249, 1]]]
[14, 81393657019, [[23, 1], [73, 1], [211, 1], [229751, 1]]]
[15, 1226280710981, [[1226280710981, 1]]]
[16, 19696509177019, [[53, 1], [6581, 1], [56470483, 1]]]
[17, 335990918918981, [[47, 1], [7148742955723, 1]]]
[18, 6066382786809019, [[2683, 1], [2261044646593, 1]]]
[19, 115578717622022981, [[115578717622022981, 1]]]
[20, 2317323290554617019, [[8969, 1], [210101, 1], [1229743351, 1]]]

0 件のコメント:

コメントを投稿

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