티스토리 뷰

1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합).

12 + 22 + ... + 102 = 385

1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱).

(1 + 2 + ... + 10)2 = 552 = 3025

따라서 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다.

그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까?



#include <stdio.h> int getResult(int num); int main(void) { printf("Result: %d\n", getResult(100)); return 0; } int getResult(int num) { int num1 = num * (num+1) / 2; int num2 = num * (num+1) * (2*num+1); num1 *= num1; num2 /= 6; return num1 - num2; }

'알고리즘 > 오일러 프로젝트' 카테고리의 다른 글

오일러 프로젝트 5번  (0) 2016.04.16
오일러 프로젝트 9번  (0) 2016.04.14
오일러 프로젝트 4  (0) 2016.03.22
오일러 프로젝트 3  (0) 2016.03.22
오일러 프로젝트 2번  (0) 2016.03.13
댓글