Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for [old] The Angles of a Triangle by mortonfox
"use strict";
function triangleAngles(a, b, c){
// Check for invalid/degenerate triangle.
if (2 * Math.max(a, b, c) >= a + b + c) return [0, 0, 0];
const roundDegrees = rad => Math.round(rad * 180 / Math.PI);
const angle1 = roundDegrees(Math.acos((b * b + c * c - a * a) / (2 * b * c)));
const angle2 = roundDegrees(Math.acos((a * a + c * c - b * b) / (2 * a * c)));
const angle3 = 180 - angle1 - angle2;
return [angle1, angle2, angle3].sort((a, b) => a - b);
}
var assert = require('assert');
if (!global.is_checking) {
assert.equal(triangleAngles(4, 4, 4), [60, 60, 60], "All sides are equal");
assert.equal(triangleAngles(3, 4, 5), [37, 53, 90], "Egyptian triangle");
assert.equal(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!");
}
Dec. 14, 2016
Comments: