1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합).
12 + 22 + ... + 102 = 385
1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱).
(1 + 2 + ... + 10)2 = 552 = 3025
따라서 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다.
그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까?
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> using namespace std; int main() { int result = 0, result1 = 0;; for (int i = 1; i <= 100; i++) result = result + i*i; cout << result << endl; // 제곱의 합 for (int i = 1; i <= 100; i++) result1 += i; cout << result1*result1 << endl; // 합의 제곱 } | cs |
'프로젝트 오일러 (ProjectEuler)' 카테고리의 다른 글
프로젝트 오일러 10) 이백만 이하 소수의 합 (0) | 2016.04.10 |
---|---|
프로젝트 오일러 7) 10001번째의 소수 (0) | 2016.04.10 |
프로젝트 오일러 5) 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 (0) | 2016.04.10 |
프로젝트 오일러 4) 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2016.04.10 |
프로젝트 오일러 3) 가장 큰 소인수 구하기 (0) | 2016.04.10 |