728x90
반응형
[6번 문제]
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 13 14 15 16 17 18 19 20 21 22 23 24 | #include "stdafx.h" #include <stdlib.h> #include <iostream> using namespace::std; int square(int num) { return num * num; } int main() { int ans; int sum1 = 0, sum2 = 0;; for (int i = 1; i <= 100; i++) { sum1 += square(i); sum2 += i; } sum2 = square(sum2); ans = sum2 - sum1; cout << ans << endl; system("pause"); return 0; } | cs |
728x90
반응형
'Solution > Project Euler' 카테고리의 다른 글
[8/C++] 1000자리 숫자 안에서 이어지는 5자리 숫자의 곱 중 최대값은? (0) | 2018.05.24 |
---|---|
[7/C++] 10001번째의 소수 (0) | 2018.05.24 |
[5/C++] 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 (0) | 2018.05.24 |
[4/C++] 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2018.05.23 |
[3/C++] 가장 큰 소인수 구하기 (0) | 2018.05.18 |