約数の和(自身を含む)(ver.2.0)
140823(2)分より短く書いてみた。
require 'prime'
def sum2(i)
list = [1]
for a in (i.prime_division.to_a)
list += list.product((1..a[1]).map{|e| a[0] ** e}).map{|e| e.inject(:*)}
end
list.inject(:+)
end
p sum2(24)
出力結果
60
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。