Pascalの三角形をやてみた
http://rubyist.g.hatena.ne.jp/moira/20090729/1248837435
を見て別のアプローチで再帰使わずにやってみた。
(階乗の計算では再帰使っているけどw
かなり速い!!
class Numeric def fact return 1 if self.zero? return @cache until @cache.nil? @cache = self * (self - 1).fact end end def pascal(n) n -= 1 (0..n).map{|x| n.fact / (x.fact * (n - x).fact)} end pascal(32)