From caa444cef487b2aa0f27b85fdb8461a4738c2b0b Mon Sep 17 00:00:00 2001 From: jimbog Date: Sun, 29 Sep 2013 20:35:39 -0500 Subject: [PATCH] Update problem05.rb --- problem05.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/problem05.rb b/problem05.rb index e69de29..7a536d6 100644 --- a/problem05.rb +++ b/problem05.rb @@ -0,0 +1,27 @@ +def primes_up_to(num) + primes = [2] + i = 3 + while i <= num + primes << i unless primes.any? {|element| i % element == 0} + i += 2 + end + return primes +end + + +def smallest_prime_factor(num) + return 2 if num.even? + i = 3 + while i <= num + return i if num%i==0 + i += 2 + end +end + +def smallest_multiple(num) + arr = primes_up_to(num) + (2..num).to_a.each{|number| arr << smallest_prime_factor(number) unless arr.inject(:*)%number == 0} + arr.inject(:*) +end + +p smallest_multiple(20)