Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in 3rd party category for The Angles of a Triangle by krzysztofc10
import numpy as np
def checkio(a, b, c):
a, b, c = sorted((float(a), float(b), float(c)))
if a + b <= c or a == 0:
return [0, 0, 0]
else:
alpha = int(round(np.arccos((b**2 + c**2 - a**2)/(2*b*c))*180.0/3.141592))
beta = int(round(np.arccos((a**2 + c**2 - b**2)/(2*a*c))*180.0/3.141592))
gamma = int(round(np.arccos((a**2 + b**2 - c**2)/(2*a*b))*180.0/3.141592))
return [alpha, beta, gamma]
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(4, 4, 4) == [60, 60, 60], "All sides are equal"
assert checkio(3, 4, 5) == [37, 53, 90], "Egyptian triangle"
assert checkio(2, 2, 5) == [0, 0, 0], "It's can not be a triangle"
Jan. 16, 2018