풀이
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, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이