Задача здесь.
А вот и моя реализация.
function isTraingle(a, b, c) {
if( a*a + b*b == c*c) {
return true;
}
return false;
}
var traingles = [];
for (var i = 1; i < 998 ; i++) {
for (var j = 1; j < 998; j++) {
for (var k = 1; k < 998; k++) {
var p = i + j + k;
if(isTraingle(i, j, k)) {
if(traingles[p]) {
var flag = true;
for (var q = 0; q < traingles[p].length; q++) {
var arr = traingles[p][q];
if( arr.indexOf(i) >= 0 && arr.indexOf(j) >= 0 && arr.indexOf(k) >= 0) {
flag = false
break;
}
}
if( flag ) {
traingles[p].push([i,j,k]);
}
} else {
traingles[p] = [[i,j,k]];
}
}
}
}
}
var max = 0;
var perimetr = 0;
traingles.forEach(function(el) {
if(el.length > max) {
max = el.length;
perimetr = el[0][0] + el[0][1] + el[0][2];
}
})
console.log(traingles, max, perimetr);
Немного погуглив, нашёл ответ, ответ равен p = 840;
В моём же случае, выходит 1680.