過去ログ

まるケン
#51845

a にいろいろ入れて遊んでみたら、aが0以下だったりするとエラーになっちゃいました。
また、素数もダメ見たい。

なので、過去に作ったスクリプトを無理やりワンライナーに改造してみました。
inject() にメソッド名のシンボルが使えるって教えてもらったので、さっそく使っています。

p a<1 ? nil : a==1 ? [1] : (v=Prime.prime_division(a)).size==1 ? (0..v[0][1]).map{|c|v[0][0]**c} : v.map{|a,b|(0..b).map{|c|a**c}}.inject(:product).map{|f|f.flatten.inject(:*)}.sort

いつものワンライナーの場合、可読性を全く無視して消せるスペースを消しまくるのですが、今回はさすがにわけわからなくなるので残しています。
   9月30日(金) 18:36:42   MAIL:take4310@mobile.email.ne.jp   51850

過去問題一覧へ戻る