Advertisement
Guest User

Where am I going wrong?

a guest
Apr 8th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.94 KB | None | 0 0
  1. # Should return ᐃ type:
  2. #  0 : if ᐃ cannot be made with given sides
  3. #  1 : acute ᐃ
  4. #  2 : right ᐃ
  5. #  3 : obtuse ᐃ
  6. def triangle_type (a, b, c)
  7.  begin
  8.   angle_a = Math.acos((b ** 2 + c ** 2 - a ** 2) / (2 * b * c))
  9.     angle_b = Math.acos((a ** 2 + c ** 2 - b ** 2) / (2 * a * c))
  10.     angle_c = Math.acos((a ** 2 + b ** 2 - c ** 2) / (2 * a * b))
  11.  rescue Math::DomainError
  12.    return 0
  13.  end
  14.   puts angle_a.to_s + " " + angle_b.to_s + " " + angle_c.to_s
  15.   angle_a = angle_a.to_int
  16.   angle_b = angle_b.to_int
  17.   angle_c = angle_c.to_int
  18.   puts angle_a + angle_b + angle_c
  19.  
  20.   if angle_a + angle_b + angle_c != Math::PI
  21.     return 0
  22.   elsif ( angle_a || angle_b || angle_c ) == 0
  23.     return 0
  24.   elsif ( angle_a && angle_b && angle_c ) < Math::PI / 2
  25.     return 1
  26.   elsif ( angle_a || angle_b || angle_c ) == Math::PI / 2
  27.     return 2
  28.   elsif ( angle_a || angle_b || angle_c ) > Math::Pi / 2
  29.     return 3
  30.   else
  31.     return 0
  32.   end
  33.  
  34. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement