Project Euler: Problem 6

The sum of the squares of the first ten natural numbers is,
1^(2) + 2^(2) + ... + 10^(2) = 385

The square of the sum of the first ten natural numbers is,
(1 + 2 + ... + 10)^(2) = 55^(2) = 3025

Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640.

Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.

http://projecteuler.net/index.php?section=problems&id=6

1 から 100 までの自然数の二乗の合計と合計の二乗の差を求める、でいいのかな。

Scheme で書いてみた…とか言うほどの量でもないな。あっけない。

#!/usr/bin/env gosh

(use srfi-1)
(define (main args)
  (let [(lis (iota 100 1))]
    (print (- (expt (fold + 0 lis) 2)
              (fold + 0 (map (cut expt <> 2) lis)))))
  0)