Difference between revisions of "Euler problems/41 to 50"

From HaskellWiki
Jump to navigation Jump to search
 
Line 43: Line 43:
   
 
Solution:
 
Solution:
  +
  +
This solution is inspired by exercise 3.70 in ''Structure and Interpretation of Computer Programs'', (2nd ed.).
  +
 
<haskell>
 
<haskell>
problem_46 = undefined
+
problem_46 = head $ oddComposites `orderedDiff` gbSums
  +
  +
oddComposites = filter ((>1) . length . primeFactors) [3,5..]
  +
  +
gbSums = map gbWeight $ weightedPairs gbWeight primes [2*n*n | n <- [1..]]
  +
gbWeight (a,b) = a + b
  +
  +
weightedPairs w (x:xs) (y:ys) =
  +
(x,y) : mergeWeighted w (map ((,)x) ys) (weightedPairs w xs (y:ys))
  +
  +
mergeWeighted w (x:xs) (y:ys)
  +
| w x <= w y = x : mergeWeighted w xs (y:ys)
  +
| otherwise = y : mergeWeighted w (x:xs) ys
  +
  +
x `orderedDiff` [] = x
  +
[] `orderedDiff` y = []
  +
(x:xs) `orderedDiff` (y:ys)
  +
| x < y = x : xs `orderedDiff` (y:ys)
  +
| x > y = (x:xs) `orderedDiff` ys
  +
| otherwise = xs `orderedDiff` ys
 
</haskell>
 
</haskell>
   

Revision as of 05:02, 28 March 2007

Problem 41

What is the largest n-digit pandigital prime that exists?

Solution:

problem_41 = undefined

Problem 42

How many triangle words can you make using the list of common English words?

Solution:

problem_42 = undefined

Problem 43

Find the sum of all pandigital numbers with an unusual sub-string divisibility property.

Solution:

problem_43 = undefined

Problem 44

Find the smallest pair of pentagonal numbers whose sum and difference is pentagonal.

Solution:

problem_44 = undefined

Problem 45

After 40755, what is the next triangle number that is also pentagonal and hexagonal?

Solution:

problem_45 = undefined

Problem 46

What is the smallest odd composite that cannot be written as the sum of a prime and twice a square?

Solution:

This solution is inspired by exercise 3.70 in Structure and Interpretation of Computer Programs, (2nd ed.).

problem_46 = head $ oddComposites `orderedDiff` gbSums

oddComposites = filter ((>1) . length . primeFactors) [3,5..]

gbSums = map gbWeight $ weightedPairs gbWeight primes [2*n*n | n <- [1..]]
gbWeight (a,b) = a + b

weightedPairs w (x:xs) (y:ys) =
    (x,y) : mergeWeighted w (map ((,)x) ys) (weightedPairs w xs (y:ys))

mergeWeighted w (x:xs)  (y:ys)
    | w x <= w y  = x : mergeWeighted w xs (y:ys)
    | otherwise   = y : mergeWeighted w (x:xs) ys

x `orderedDiff` [] = x
[] `orderedDiff` y = []
(x:xs) `orderedDiff` (y:ys)
    | x < y     = x : xs `orderedDiff` (y:ys)
    | x > y     = (x:xs) `orderedDiff` ys
    | otherwise = xs `orderedDiff` ys

Problem 47

Find the first four consecutive integers to have four distinct primes factors.

Solution:

problem_47 = undefined

Problem 48

Find the last ten digits of 11 + 22 + ... + 10001000.

Solution:

problem_48 = undefined

Problem 49

Find arithmetic sequences, made of prime terms, whose four digits are permutations of each other.

Solution:

problem_49 = undefined

Problem 50

Which prime, below one-million, can be written as the sum of the most consecutive primes?

Solution:

problem_50 = undefined