[Swift][일일 코드 #7]오일러 프로젝트 006
14 August 2015
Problem 006
1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합).
1^2 + 2^2 + … + 10^2 = 385 1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱).
(1 + 2 + … + 10)^2 = 55^2 = 3025 따라서 1부터 10까지 자연수에 대해 “합의 제곱”과 “제곱의 합” 의 차이는 3025 - 385 = 2640 이 됩니다.
그러면 1부터 100까지 자연수에 대해 “합의 제곱”과 “제곱의 합”의 차이는 얼마입니까?
Solution
let result = Int(pow(Double([Int](1...100).reduce(0) { $0 + $1 }), 2)
- [Int](1...100).reduce(0) { $0 + pow(Double($1), 2) })
println(result)