بکندباز

یک توپ در یک زمین باز آماده شلیک است. شما مختصات کارتزین توپ را می‌دانید. جهت لوله توپ را به عنوان زاویه‌ای ساعت‌گرد از شمال می‌دانید. همچنین فاصله‌ای که گلوله توپ طی می‌کند را نیز می‌دانید.

تابعی طراحی کنید که مختصات نقطه‌ای که گلوله توپ به آن برخورد می‌کند را پیدا کند. نتیجه را به نزدیک‌ترین عدد صحیح گرد کنید.

cannon(location, angle, distance) ➞ target location

زاویه ساعت‌گرد از شمال به این معنی است که در ۰ درجه توپ به سمت شمال، در ۹۰ درجه به سمت شرق، در ۱۸۰ درجه به سمت جنوب و در ۲۷۰ درجه به سمت غرب نشانه‌گیری شده است.

نمونه ورودی و خروجی

Cannon((0, 0), 0, 10) ➞ (0, 10)

Cannon((0, 0), 270, 10) ➞ (-10, 0)

Cannon((0, 0), 45, 10) ➞ (7, 7)

نکات

  • فاصله‌ای که در اینجا داده می‌شود، طول مسیر گلوله روی زمین است، نه مسیر قوس آن در هوا، بنابراین این مسئله را به عنوان یک مسئله مثلثات صفحه‌ای در نظر بگیرید.
Cannon((0, 0), 0, 10)  ➞ (0, 10)
Cannon((0, 0), 270, 10)  ➞ (-10, 0)
Cannon((0, 0), 45, 10)  ➞ (7, 7)
Cannon((-12, -2), 193, 9)  ➞ (-14, -11)

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

نظرات

*
*

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