thoga31

Project Euler, problem 463

Mar 22nd, 2014
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. f :: Integer -> Integer
  2. f 1 = 1
  3. f 3 = 3
  4. f n | mod n 2 == 0        = f n1
  5.     | mod (n - 1) 4 == 0  = 2 * (f (2 * n2 + 1)) - (f n2)
  6.     | mod (n - 3) 4 == 0  = 3 * (f (2 * n2 + 1)) - 2 * (f n2)
  7.   where
  8.     n1 = div n 2
  9.     n2 = div n 4
  10.  
  11. s :: Integer -> Integer
  12. s n = sum . map f $ [1..n]
Advertisement
Add Comment
Please, Sign In to add comment