|
まるケン |
|
#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 |