Problem:
\$n!\$ means \$n × (n − 1) × ... × 3 × 2 × 1\$
For example, \$10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800\$, and the sum of the digits in the number \$10!\$ is \$3 + 6 + 2 + 8 + 8 + 0 + 0 = 27\$.
Find the sum of the digits in the number \$100!\$.
My solution in Clojure:
(reduce + (map (fn[x](Integer. (str x))) (seq (str (apply *' (range 1 101))))))
Questions:
- Is there a way to avoid the
*'
in the factorial bit?(apply *' (range 1 101))
- I converted the result of the factorial to a string, then to a sequence, and then mapped an Integer cast to a string cast. Surely there must be a way to simplify this?