10448 : 유레카 이론

풀이

1000 이하인 삼각수를 모두 구해보자!

그러한 (1000 이하인) 삼각수의 개수가 얼마 되지 않으므로

3중 for문 돌면서 완전탐색 해주면 된다!

코드

#include <stdio.h>
#include <vector>
using namespace std;

int tc, n, ans;
vector<int> v;

int main() {
	for (int i = 1; i*(i+1)/2 <= 1000; i++) v.push_back(i*(i+1)/2);
	for (scanf("%d", &tc); tc--;) {
		scanf("%d", &n); ans = 0;
		for (int i : v) for (int j : v) for (int k : v)
			if (i + j + k == n) ans = 1;
		printf("%d\n", ans);
	}	

	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2018-01-30 18:51

Read more posts by this author