How to count the triangles that can be formed using three different elements of an array in Node.js

1 Answer

0 votes
function GetNumberOfTriangles(arr) {
    const size = arr.length;
    let count = 0;
        
    for (let i = 0; i < size; i++) {
        for (let j = i + 1; j < size; j++) {
            for (let k = j + 1; k < size; k++) {
                // triangle = sum of two sides > value of the third side
                if (arr[i] + arr[j] > arr[k] && 
                    arr[i] + arr[k] > arr[j] && 
                    arr[k] + arr[j] > arr[i]) {
                    console.log(arr[i] + " " + arr[j] + " " + arr[k]);
                    count++;
                }
            }
        }
    }
    return count;
}
        
const arr = [2, 3, 4, 5, 6, 7, 8];
        
console.log(GetNumberOfTriangles(arr));




/*
run:

2 3 4
2 4 5
2 5 6
2 6 7
2 7 8
3 4 5
3 4 6
3 5 6
3 5 7
3 6 7
3 6 8
3 7 8
4 5 6
4 5 7
4 5 8
4 6 7
4 6 8
4 7 8
5 6 7
5 6 8
5 7 8
6 7 8
22

*/

 



answered Sep 12, 2022 by avibootz
...