Apr 8 2009
Project Euler Problem 4 Solution
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
My solution in Ruby:
var = 0 999.downto(100) { |i| 999.downto(100) { |j| prod = i * j var = [var, prod].max if prod.to_s == prod.to_s.reverse } } puts "Maximum palindrome is #{var}."
Apr 8 2009
Project Euler Problem 3 Solution
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
My solution in Ruby:
def is_prime ( p ) if p == 2 return true elsif p <= 1 || p % 2 == 0 return false else (3 .. Math.sqrt(p)).step(2) do |i| if p % i == 0 return false end end return true end end i, num = 1, 1 loop do i += 1 if 600851475143 % i == 0 num = 600851475143 / i break if is_prime(num) end end puts "largest prime factor: " + num.to_s
Apr 8 2009
Project Euler Problem 2 Solution
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Find the sum of all the even-valued terms in the sequence which do not exceed four million.
My solution in Ruby:
t1, t2, even_sums = 1, 2, 2 loop do temp = t1 + t2 break if temp > 3999999 even_sums += temp if temp % 2 == 0 t1 = t2 t2 = temp end puts even_sums
Apr 8 2009
Project Euler Problem 1 Solution
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
My solution in Ruby:
sum = 0 for i in 1..999 sum += i if i % 3 == 0 or i % 5 == 0 end puts sum