Kata:Ruby:Prime Factors

11/13/2009 10:48:31 PM

It took me a fair bit of refactoring after I got the last test passing (generate 10 ) to get it this tight, but I like it.


def generate(n)
  return [] if n == 1
  factor = (2..n).find {|x| n % x == 0} 
  [factor] + generate(n / factor) 
end