I'm new to Python and have been putting my mind to learning it over my holiday break. I've been looking over the functional programming aspects of Python and I'm stuck trying to come up with some concise code to find Taxicab numbers (http://mathworld.wolfram.com/ TaxicabNumber.html).
"Taxicab(n), is defined as the smallest number that can be expressed as a sum of two positive cubes in n distinct ways" In Haskell something like this could easily be done with: cube x = x * x * x taxicab n = [(cube a + cube b, (a, b), (c, d)) | a <- [1..n], b <- [(a+1)..n], c <- [(a+1)..n], d <- [(c+1)..n], (cube a + cube b) == (cube c + cube d)] Output:: *Main> taxicab 10 [] *Main> taxicab 12 [(1729,(1,12),(9,10))] *Main> taxicab 20 [(1729,(1,12),(9,10)),(4104,(2,16),(9,15))] I'm looking for a succinct way of doing this in Python. I've been toying around with filter(),map(), and reduce() but haven't gotten anything half-way decent yet. So, how would you implement this taxicab(n) function in Python? Thanks in advance :-) -- http://mail.python.org/mailman/listinfo/python-list