Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second solution in Clear category for [old] The Angles of a Triangle by SaintDron
"use strict";
function triangleAngles(a, b, c) {
if (2 * Math.max(a, b, c) >= a + b + c)
return [0, 0, 0];
const angle = (a, b, c) => Math.round(Math.acos((a * a + b * b - c * c) / (2 * a * b)) * 180 / Math.PI);
let alpha = angle(b, c, a),
beta = angle(a, c, b),
gamma = 180 - alpha - beta;
return [alpha, beta, gamma].sort((a, b) => a - b);
}
var assert = require('assert');
if (!global.is_checking) {
assert.deepEqual(triangleAngles(4, 4, 4), [60, 60, 60], "All sides are equal");
assert.deepEqual(triangleAngles(3, 4, 5), [37, 53, 90], "Egyptian triangle");
assert.deepEqual(triangleAngles(2, 2, 5), [0, 0, 0], "It's can not be a triangle");
console.log("Coding complete? Click 'Check' to review your tests and earn cool rewards!");
}
Aug. 10, 2018