Euler problems/181 to 190
From HaskellWiki
(Difference between revisions)
((183) If we must have a solution here, let's at least have a decent one.) |
|||
| Line 27: | Line 27: | ||
Solution: | Solution: | ||
<haskell> | <haskell> | ||
| - | + | -- Does the decimal expansion of p/q terminate? | |
| - | + | terminating p q = 1 == reduce [2,5] (q `div` gcd p q) | |
| - | + | where reduce [] n = n | |
| - | + | reduce (x:xs) n | n `mod` x == 0 = reduce (x:xs) (n `div` x) | |
| - | + | | otherwise = reduce xs n | |
| - | + | ||
| - | + | -- The expression (round $ fromIntegral n / e) computes the integer k | |
| - | + | -- for which (n/k)^k is at a maximum. | |
| - | n ` | + | answer = sum [if terminating n (round $ fromIntegral n / e) then -n else n |
| - | + | | n <- [5 .. 10^4]] | |
| - | + | where e = exp 1 | |
| - | + | ||
| - | + | main = print answer | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
</haskell> | </haskell> | ||
Revision as of 20:27, 24 February 2008
1 Problem 181
Investigating in how many ways objects of two different colours can be grouped.
Solution: This was my code, published here without my permission nor any attribution, shame on whoever put it here. Daniel.is.fischer
2 Problem 182
RSA encryption.
Solution:
fun a1 b1 = sum [ e | e <- [2..a*b-1], gcd e (a*b) == 1, gcd (e-1) a == 2, gcd (e-1) b == 2 ] where a=a1-1 b=b1-1 problem_182=fun 1009 3643
3 Problem 183
Maximum product of parts.
Solution:
-- Does the decimal expansion of p/q terminate? terminating p q = 1 == reduce [2,5] (q `div` gcd p q) where reduce [] n = n reduce (x:xs) n | n `mod` x == 0 = reduce (x:xs) (n `div` x) | otherwise = reduce xs n -- The expression (round $ fromIntegral n / e) computes the integer k -- for which (n/k)^k is at a maximum. answer = sum [if terminating n (round $ fromIntegral n / e) then -n else n | n <- [5 .. 10^4]] where e = exp 1 main = print answer
