Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Should return ᐃ type:
- # 0 : if ᐃ cannot be made with given sides
- # 1 : acute ᐃ
- # 2 : right ᐃ
- # 3 : obtuse ᐃ
- def triangle_type (a, b, c)
- begin
- angle_a = Math.acos((b ** 2 + c ** 2 - a ** 2) / (2 * b * c))
- angle_b = Math.acos((a ** 2 + c ** 2 - b ** 2) / (2 * a * c))
- angle_c = Math.acos((a ** 2 + b ** 2 - c ** 2) / (2 * a * b))
- rescue Math::DomainError
- return 0
- end
- puts angle_a.to_s + " " + angle_b.to_s + " " + angle_c.to_s
- angle_a = angle_a.to_int
- angle_b = angle_b.to_int
- angle_c = angle_c.to_int
- puts angle_a + angle_b + angle_c
- if angle_a + angle_b + angle_c != Math::PI
- return 0
- elsif ( angle_a || angle_b || angle_c ) == 0
- return 0
- elsif ( angle_a && angle_b && angle_c ) < Math::PI / 2
- return 1
- elsif ( angle_a || angle_b || angle_c ) == Math::PI / 2
- return 2
- elsif ( angle_a || angle_b || angle_c ) > Math::Pi / 2
- return 3
- else
- return 0
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement