Chapter 06

Problem 6: Sum square difference

aoi.iter
aoi.iter
2022.06.23に更新
このチャプターの目次

2022/06/23

https://projecteuler.net/problem=6

問題

最初の10個の自然数について, その二乗の和は, 1^2 + 2^2 + ... + 10^2 = 385
最初の10個の自然数について, その和の二乗は, (1 + 2 + ... + 10)^2 = 3025
これらの数の差は 3025 - 385 = 2640 となる.

同様にして, 最初の100個の自然数について二乗の和と和の二乗の差を求めよ.

考察

N/A

解答

; https://projecteuler.net/problem=6
(use util.stream)

(define (solve n)
  (let ((numbers (stream-range 1 (+ 1 n))))
    (abs (-
          (square (stream-fold + 0 numbers))
          (stream-fold + 0 (stream-map square numbers))))))

(solve 10)
;=> 2640
(solve 100)
;=> 25164150

感想

箸休め回

参考資料

N/A