Difference between revisions of "Euler problems/61 to 70"

From HaskellWiki
Jump to navigation Jump to search
m
(Problem 67)
Line 64: Line 64:
 
Solution:
 
Solution:
 
<haskell>
 
<haskell>
  +
import System
problem_67 = undefined
 
  +
 
problem_67 = do
  +
system "curl -O http://projecteuler.net/project/triangle.txt"
  +
s <- readFile "triangle.txt"
  +
print $ head $ foldr1 g $ map ((map read).words) $ lines s
  +
where
  +
f x y z = x + max y z
  +
g xs ys = zipWith3 f xs ys $ tail ys
 
</haskell>
 
</haskell>
   

Revision as of 02:06, 3 July 2007

Problem 61

Find the sum of the only set of six 4-digit figurate numbers with a cyclic property.

Solution:

problem_61 = undefined

Problem 62

Find the smallest cube for which exactly five permutations of its digits are cube.

Solution:

problem_62 = undefined

Problem 63

How many n-digit positive integers exist which are also an nth power?

Solution: Since dn has at least n+1 digits for any d≥10, we need only consider 1 through 9. If dn has fewer than n digits, every higher power of d will also be too small since d < 10. We will also never have n+1 digits for our nth powers. All we have to do is check dn for each d in {1,...,9}, trying n=1,2,... and stopping when dn has fewer than n digits.

problem_63 = length . concatMap (takeWhile (\(n,p) -> n == nDigits p))
             $ [powers d | d <- [1..9]]
    where powers d = [(n, d^n) | n <- [1..]]
          nDigits n = length (show n)

Problem 64

How many continued fractions for N ≤ 10000 have an odd period?

Solution:

problem_64 = undefined

Problem 65

Find the sum of digits in the numerator of the 100th convergent of the continued fraction for e.

Solution:

import Data.Ratio

problem_65 = dsum . numerator . contFrac . take 100 $ e
    where dsum 0 = 0
          dsum n = let ( d, m ) = n `divMod` 10 in m + ( dsum d )
          contFrac = foldr1 (\x y -> x + 1/y)
          e = 2 : 1 : insOnes [2,4..]
          insOnes (x:xs) = x : 1 : 1 : insOnes xs

Problem 66

Investigate the Diophantine equation x2 − Dy2 = 1.

Solution:

problem_66 = undefined

Problem 67

Using an efficient algorithm find the maximal sum in the triangle?

Solution:

import System

problem_67 = do
    system "curl -O http://projecteuler.net/project/triangle.txt"
    s <- readFile "triangle.txt" 
    print $ head $ foldr1 g $ map ((map read).words) $ lines s
    where
        f x y z = x + max y z
        g xs ys = zipWith3 f xs ys $ tail ys

Problem 68

What is the maximum 16-digit string for a "magic" 5-gon ring?

Solution:

problem_68 = undefined

Problem 69

Find the value of n ≤ 1,000,000 for which n/φ(n) is a maximum.

Solution:

problem_69 = undefined

Problem 70

Investigate values of n for which φ(n) is a permutation of n.

Solution:

problem_70 = undefined