**Find the largest product of 5 consecutive digits of a 1000 digit number**

This can be solved very elegantly in Clojure, the 1000 digit number can be found here.

(def number-string "73167...") (def digits (map #(- (int %) 48) number-string)) (apply max (map * digits (drop 1 digits) (drop 2 digits) (drop 3 digits) (drop 4 digits)))

*number-string* stores the 1000 digit number as a string

*digits* creates a list of digits from *number-string*, 48 is the ASCII value for the character ‘0’, 49 for ‘1’ and so on. Subtracting 48 from the character gives the digit value.

*map* runs only till one of the list arguments terminates so the last line is valid

Advertisements