problem 20
問題 16 と似たものが 問題 20 です。
100! の数字の和を求める問題です。2^1000 が 100! に変わっただけです。
(define (fact n) (let loop ((i n) (m 1)) (if (= i 1) m (loop (- i 1) (* m i))))) (define (p20) (fold (lambda (x n) (+ (digit->integer x) n)) 0 (string->list (number->string (fact 100))))) (print (p20))
done!