بکندباز

تابعی بنویسید که بررسی کند آیا با اطلاعات داده‌شده می‌توان یک مثلث قائم‌الزاویه ساخت یا خیر.

  • اگر اطلاعات شامل زاویه باشد، باید بررسی کنید که آیا می‌توان زاویه ۹۰ درجه داشت یا خیر.
  • اگر اطلاعات شامل اضلاع باشد، باید بررسی کنید که آیا رابطه فیثاغورث برقرار است یا خیر.
  • مثلث باید دقیقاً ۳ ضلع یا ۳ زاویه داشته باشد (مگر اینکه اطلاعات ناقص باشد).
  • اگر اطلاعات ناقص باشد (مثلاً فقط ۲ ضلع داده شده)، باید بررسی کنید آیا می‌توان ضلع سوم را طوری انتخاب کرد که مثلث قائم‌الزاویه شود.

مثال

is_right_angle([30, 60], "angle") ➞ True
# زاویه سوم می‌تواند ۹۰ درجه باشد

is_right_angle([20, 20, 20, 20], "angle") ➞ False
# بیش از ۳ ضلع دارد

is_right_angle([4, 5, 3], "side") ➞ True
# 3² + 4² = 5²

is_right_angle([4, 5], "side") ➞ True
# ضلع سوم می‌تواند ۳ باشد

 

EXPECT_EQ(IsRightAngle({30, 60}, "angle"), true);
EXPECT_EQ(IsRightAngle({20, 20, 20, 20}, "angle"), false);
EXPECT_EQ(IsRightAngle({4, 5, 3}, "side"), true);
EXPECT_EQ(IsRightAngle({4, 5}, "side"), true);
EXPECT_EQ(IsRightAngle({30, 60, 90}, "angle"), true);
EXPECT_EQ(IsRightAngle({90}, "angle"), true);
EXPECT_EQ(IsRightAngle({90, 90, 90}, "angle"), false);
EXPECT_EQ(IsRightAngle({4, 5, 6}, "side"), false);
EXPECT_EQ(IsRightAngle({43}, "angle"), true);

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

تمرینات مرتبط