2013년 12월 8일 일요일

Euler Project: Problem 4

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.

Prelude> maximum [x*y| x <- [100..999], y <- [100..999], (show $ x*y) == (reverse $ show $ y*x)]
906609

2013년 12월 7일 토요일

Euler Project: Problem 3

The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?

Prelude Data.Numbers.Primes> maximum $ primeFactors 600851475143
6857

Euler Project: Problem 2

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, ...
By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

Prelude Data.Numbers.Fibonacci> sum [x| x <- tail $ map fib [1..50], x < 4000000, even x]
4613732

Euler Project: Problem 1

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.

Prelude> :m Data.List
Prelude Data.List> sum ([x| x <- [1..999], x `mod` 3 == 0] `union` [y| y <- [1..999], y `mod` 5 == 0])
233168