problem 48

Problem 48 - Project Euler

先の問題を眺めていたらラッキー問題を見つけました。

1 <= n <= 1000 のときの、Σ(n^n) を求める問題です。

(use srfi-1)

(define (p48)
  (let1 n (iota 1000 1)
        (modulo
          ;(fold (lambda (x y) (+ y (expt x x))) 0 n)
          ;(apply + (map (lambda (x) (expt x x)) n))
          (apply + (map expt n n))
          ;(expt 10 10)
          10000000000)))

(print (p48))

短くしてみました。