Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for The Angles of a Triangle by wolicki.mikolaj
import math
def angle (a, b, c):
return math.degrees(math.acos((c**2 - b**2 - a**2)/(-2.0 * a * b)))
def checkio(a, b, c):
if a==b and b==c:
return 3*[60]
if a+b<=c or a+c<=b or b+c<=a:
return [0,0,0]
angA =angle(a,b,c)
angB = angle(b,c,a)
angC = angle(c,a,b)
A =int(angle(a,b,c))
B = int(angle(b,c,a))
C = int(angle(c,a,b))
if ((angA-A)>0.5):
angA=A+1
else:
angA=A
if ((angB-B)>0.5):
angB=B+1
else:
angB=B
if ((angC-C)>0.5):
angC=C+1
else:
angC=C
list=[]
list.append(angA)
list.append(angB)
list.append(angC)
list.sort()
#replace this for solution
return list
#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"
Nov. 26, 2016