31 lines
904 B
Haskell
31 lines
904 B
Haskell
-- The fraction 49/98 is a curious fraction, as an inexperienced mathematician
|
|
-- in attempting to simplify it may incorrectly believe that 49/98 = 4/8, which
|
|
-- is correct, is obtained by cancelling the 9s.
|
|
--
|
|
-- We shall consider fractions like, 30/50 = 3/5, to be trivial examples.
|
|
--
|
|
-- There are exactly four non-trivial examples of this type of fraction, less
|
|
-- than one in value, and containing two digits in the numerator and
|
|
-- denominator.
|
|
--
|
|
-- If the product of these four fractions is given in its lowest common terms,
|
|
-- find the value of the denominator.
|
|
|
|
import Euler
|
|
|
|
main = print $ denominator $ product $
|
|
[ n
|
|
| a <- [1..9]
|
|
, b <- [1..9]
|
|
, c <- [1..9]
|
|
, d <- [1..9]
|
|
, let x = 10 * a + b
|
|
, let y = 10 * c + d
|
|
, let n = x % y
|
|
, n < 1
|
|
, (a == c && b % d == n) ||
|
|
(a == d && b % c == n) ||
|
|
(b == c && a % d == n) ||
|
|
(b == d && a % c == n)
|
|
]
|