같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있는 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오.
예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 그림 1과 같이 3가지이다.

<주의사항>
주어진 성냥개비는 모두 사용하여 하나의 삼각형을 만들어야 한다.
삼각형을 한 개도 만들 수 없으면 0을 출력한다. 예를 들어서, 주어진 성냥개비의 수가 1, 2, 또는 4인 경우에는 삼각형을 한 개도 만들 수 없다.
합동인 삼각형들은 같은 삼각형으로 본다. 예를 들어서 성냥개비 5개를 사용하여 만들수 있는 그림 2의 삼각형들은 같은 삼각형으로 본다.

첫째 줄에 성냥개비의 개수가 주어진다. 성냥개비의 개수는 1 이상 50,000 이하이다.
첫째 줄에 만들 수 있는 삼각형의 개수를 출력한다.
9
3
var fs = require('fs');
let num = fs.readFileSync(0, 'utf-8').toString().trim();
num = Number(num);
let count = 0;
if (num === 1 || num === 2 || num === 4) console.log(0);
else {
for (let i = 1; i <= num; i++) {
for (let j = i; j <= num; j++) {
let k = num - i - j;
if (k < j) break;
if (i + j > k) count++;
}
}
console.log(count);
}
문제가 어려워서 기록한다기 보다는 삼각형이 되기 위한 조건을 자주 까먹는 것 같아서 잊지않기 위해 기록하는 문제.