알고리즘/오일러 프로젝트
오일러 프로젝트 6번
맥밤
2016. 4. 3. 17:28
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; }