Skip to content

Instantly share code, notes, and snippets.

@1dolinski
Created August 15, 2013 18:04
Show Gist options
  • Save 1dolinski/6243097 to your computer and use it in GitHub Desktop.
Save 1dolinski/6243097 to your computer and use it in GitHub Desktop.
def prime_factors(n)
return [] if n == 1
factor = (2..n).find {|x| n % x == 0}
binding.pry
[factor] + prime_factors(n / factor)
binding.pry
end
puts prime_factors(600851475143).max
@1dolinski
Copy link
Author

def prime_factors(n)
return [] if n == 1
factor = (2..n).find {|x| n % x == 0}
[factor] << prime_factors(n / factor) #same as [factor] + prime_factors(n / factor)
end
puts prime_factors(600851475143)

however, puts prime_factors(600851475143).max will break on the << and not on the +

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment