2014年9月21日日曜日

140921

Ruby


約数の和(自身を含む)(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 件のコメント:

コメントを投稿

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