from typing import List import math def checkio(a: int, b: int, c: int) -> List[int]: """ α = arccos[(b² + c² − a²) ÷ 2bc] β = arccos[(a² + c² − b²) ÷ 2ac] γ = arccos[(a² + b² − c²) ÷ 2ab] """ try: alpha = round(math.degrees(math.acos((b ** 2 + c ** 2 - a ** 2) / (2 * b * c)))) beta = round(math.degrees(math.acos((a ** 2 + c ** 2 - b ** 2) / (2 * a * c)))) gamma = round(math.degrees(math.acos((a ** 2 + b ** 2 - c ** 2) / (2 * a * b)))) angles = [alpha, beta, gamma] angles.sort() if angles[0] == 0: return [0, 0, 0] return angles except ValueError: return [0, 0, 0] # These "asserts" using only for self-checking and not necessary for auto-testing if __name__ == '__main__': print("Example:") print(checkio(4, 4, 4)) 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" assert checkio(10, 20, 30) == [0, 0, 0], "It's can not be a triangle" print("Coding complete? Click 'Check' to earn cool rewards!")