Triangle type
Description:
In this kata, you should calculate the type of triangle with three given sides a
, b
and c
(given in any order).
If each angle is less than 90°
, this triangle is acute
and the function should return 1
.
If one angle is strictly 90°
, this triangle is right
and the function should return 2
.
If one angle is more than 90°
, this triangle is obtuse
and the function should return 3
.
If three sides cannot form a triangle, or one angle is 180°
(which turns the triangle into a segment) - the function should return 0
.
Three input parameters are sides
of given triangle. All input values are non-negative floating point or integer numbers (or both, depending on the language).
![]() |
![]() |
![]() |
Examples:
(2, 4, 6) ---> return 0 (Not triangle)
(8, 5, 7) ---> return 1 (Acute, angles are approx. 82°, 38° and 60°)
(3, 4, 5) ---> return 2 (Right, angles are approx. 37°, 53° and exactly 90°)
(7, 12, 8) ---> return 3 (Obtuse, angles are approx. 34°, 106° and 40°)
If you stuck, this can help you: http://en.wikipedia.org/wiki/Law_of_cosines. But you can solve this kata even without angle calculation.
There is a very small chance of random test to fail due to round-off error, in such case resubmit your solution.
Similar Kata:
Stats:
Created | Jun 5, 2014 |
Published | Jun 5, 2014 |
Warriors Trained | 22275 |
Total Skips | 4870 |
Total Code Submissions | 50610 |
Total Times Completed | 8746 |
JavaScript Completions | 3387 |
CoffeeScript Completions | 125 |
Ruby Completions | 922 |
Python Completions | 3875 |
Clojure Completions | 157 |
C Completions | 390 |
PHP Completions | 65 |
TypeScript Completions | 98 |
COBOL Completions | 5 |
Kotlin Completions | 70 |
Lua Completions | 30 |
Total Stars | 377 |
% of votes with a positive feedback rating | 91% of 952 |
Total "Very Satisfied" Votes | 805 |
Total "Somewhat Satisfied" Votes | 132 |
Total "Not Satisfied" Votes | 15 |