مسابقهٔ برنامهنویسی شرکت متراژ در نمایشگاه کار دانشگاه صنعتی شریف
فربد طول و عرض جغرافیایی خانهاش را میداند. فربد به متراژ رفته و طول و عرض جغرافیایی املاک همسایگانش را هم میبیند. به فربد کمک کنید تا بتواند برمبنای طول و عرض جغرافیایی خانهٔ خود و همسایگانش فاصلهٔ خانهٔ خود با هر کدام از آنها را برحسب کیلومتر حساب کند.
عددی که به عنوان عرض جغرافیایی یا Latitudes بیان میشود عددی در بازهٔ ۰ تا ۹۰ و عددی که به عنوان طول جغرافیایی یا Longitudes بیان میشود عددی در بازهٔ ۰ تا ۱۸۰ است. در این سوال از امکان اعشاری بودن این اعداد صرف نظر کنید.
برای محاسبهٔ فاصلهٔ دو نقطه از کرهٔ زمین برحسب طول و عرض جغرافیایی از الگوریتم haversine استفاده کنید.
در فرمول بالا φ برابر عرض جغرافیایی یا Latitudes و λ برابر طول جغرافیایی یا Longitudes هست.
پیادهسازی این الگوریتم در پایتون برای یک مثال خاص به این شکل خواهد بود:
در خط اول ورودی طول و عرض جغرافیایی خانهٔ فربد را بگیرید. این دو عدد با یک فاصله از هم جدا شده.
در خط سوم عدد n به معنی تعداد املاک موجود را از کاربر بگیرید.
در n خط بعد در هر خط، اطلاعات یک ملک را از کاربر بگیرید.
اطلاعات هر ملک شامل شمارهٔ id خانه، طول جغرافیایی ملک، عرض جغرافیایی ملک و مساحت ملک است.
خروجی برنامه باید در n خط چاپ شود.
در هر خط از خروجی شمارهٔ id خانه و فاصله خانهٔ فربد با آن خانه که با یک فاصله از هم جدا شدند چاپ شود. دقت کنید که ترتیب چاپ شدن فاصلهها در هر خط به همان ترتیبی باشد که کاربر به برنامه ورودی دادهاست یعنی لازم نیست برحسب id خانهها مرتب شود. همچنین اعدادی که در خروجی چاپ میکنید با دو رقم اعشار باشد و گرد شده باشد.