{프로젝트 오일러/Project Euler} 6. 제곱의 합과 합의 제곱의 차
알고리즘 공부/프로젝트 오일러(Project Euler)

{프로젝트 오일러/Project Euler} 6. 제곱의 합과 합의 제곱의 차

한국어/Hackerrank - 한국어 버전과 문제가 다를 수 있습니다. 채점은 Hackerrank를 추천합니다.

1 <= 입력 개수 <= 10^4, 1 <= 입력값 <= 10^4

for _ in range(int(input())):
    n = int(input())
    sum_of_squares = n*(n+1)*(2*n+1) // 6
    square_of_sum = (n*(n+1)//2)**2
    print(square_of_sum-sum_of_squares)

이 문제는 제곱의 합 시그마 공식을 이용해 풀 수 있습니다.

1부터 N까지 제곱의 합은 다음과 같이 유도할 수 있습니다.

이를 통해 제곱들의 합을 구하고 합의 제곱을 구하면 합의 제곱이 항상 더 크기 때문합의 제곱에서 제곱들의 합을 뺀 값을 출력하면 됩니다.

*반복문을 써도 되지만 프로젝트 오일러 문제들은 가능하면 수학적 원리를 파악하면서 푸는 것이 더 취지 맞습니다.