Though I understand Roger's 0".": solution maybe faster, there is an alternative to your padded base use of #:
10 #. inv 2^15 3 2 7 6 8 so a comparable to haskell approach +/ 10 #. inv 2^1000x 1366 and a verb version: ([: +/ #. inv) or 10&([: +/ #. inv) if you always want base 10 10 ([: +/ #.inv) 2^1000x 1366 16 ([: +/ #.inv) 2^1000x 1 ----- Original Message ----- From: Jon Hough <[email protected]> To: "[email protected]" <[email protected]> Cc: Sent: Wednesday, May 28, 2014 11:35:26 AM Subject: [Jprogramming] Project Euler 16, J vs Haskell Project Euler 16 is defined: 215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.What is the sum of the digits of the number 21000? http://projecteuler.net/problem=16 My J solution:NB. create base base =. 302 $ 10 digitsum =. +/ @:(base & #:)"1@: (1000x &(^~)) digitsum 2 As a J beginner, clearly my code is not as terse or as elegant as it could be. But browsing the solution forums I found this Haskell solution: sum $ digits 10 $ 2^1000 I don't know Haskell but the above code pretty much speaks for itself. Clearly the solution is terse, simple and easy to understand.Comparing Haskell to J, it seems one of J's strong points, terseness and rapid program developing, doesn't hold up to Haskell so much as it does against C-style languages. So my question is, what advantages does J hold over Haskell, in terms of speed, terseness etc? Regards. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
