Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for The Angles of a Triangle by Mahoter
import math
def checkio(a, b, c):
ab = 0
bc = 0
ac = 0
res = []
if a+b > c and a+c >b and b+c > a:
if a==b==c:
return [60,60,60]
else:
temp = 999
deg = 0
while deg < 180:
rad = math.radians(deg)
x = (a*a) + (b*b) - (c*c) - (2*a*b*math.cos(rad))
if x < 0:
x = x*(-1)
if x < temp:
temp = x
ab = deg
deg += 1
temp = 999
deg = 0
x = 0.0
while deg < 180:
rad = math.radians(deg)
x = b*b + c*c - a*a - (2*c*b*math.cos(rad))
if x < 0:
x = x*(-1)
if x < temp:
temp = x
bc = deg
deg += 1
ac = 180 - ab - bc
res += [ab]
res += [ac]
res += [bc]
res.sort()
#replace this for solution
return res
#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. 17, 2016