JSFiddle - React, Tailwind, and code Playground
by Artem
JavaScript
'use strict';
function triangleType(a, b, c) {
const ANGLE_TYPES = {
ACUTE: 1,
RIGHT: 2,
OBTUSE: 3
};
const angleA = (Math.acos((Math.pow(b, 2) + Math.pow(c, 2) - Math.pow(a, 2)) / (2 * b * c))) * 180 / Math.PI;
const angleB = (Math.acos((Math.pow(a, 2) + Math.pow(c, 2) - Math.pow(b, 2)) / (2 * a * c))) * 180 / Math.PI;
const angleC = (Math.acos((Math.pow(a, 2) + Math.pow(b, 2) - Math.pow(c, 2)) / (2 * a * b))) * 180 / Math.PI;
const angles = Array.of(angleA, angleB, angleC);
let i = 0;
console.log('a: ', angleA);
console.log('b: ', angleB);
console.log('c: ', angleC);
for (let angle of angles) {
if (angle === 90) return ANGLE_TYPES.RIGHT;
if (angle >= 180) return 0;
if (angle > 90) return ANGLE_TYPES.OBTUSE;
if (angle < 90) i++;
}
if (i === 3) {
return ANGLE_TYPES.ACUTE;
}
const sum = angles.reduce((prevAngle, nextAngle) => {
return prevAngle + nextAngle;
});
if (sum !== 180) return 0;
}
console.log(triangleType(3, 4, 5));