Computer Science/Algorithm Problem

백준] 5724 - 파인만(ACM-ICPC Regional)

TwinParadox 2018. 1. 15. 22:33
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 그리드 한 변에 있는 정사각형의 개수 N이 주어진다. (1 ≤ N ≤ 100)


입력의 마지막 줄에는 0이 하나 주어진다.




출력

각 테스트 케이스에 대해서, 한 줄에 하나씩 서로 다른 정사각형의 개수를 출력한다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int n;
	while (1)
	{
		cin >> n;
		if (n == 0)
			break;
		cout << n*(n + 1)*(2 * n + 1) / 6 << '\n';
	}
}




Tip

수학적 규칙과 공식을 알면 빠르게 답을 구할 수 있다. 그리드 한 변에 정사각형이 N개일 때 1부터 N까지의 제곱값을 더하면 된다. 공식은 N*(N+1)*(2N+1)/6

728x90