मैं स्वतंत्र रूप से इस चुनौती के साथ आया था, लेकिन यह डोरकनब द्वारा इस चुनौती का उलटा हुआ । जैसा कि मैं वास्तव में उसकी कल्पना को पसंद करता हूं, मैंने अपने स्वयं के स्पष्टीकरण को पकाने के बजाय इसके बड़े हिस्सों को चोरी करने का फैसला किया।
चुनौती
कम्पास पर 32 बिंदुओं में से एक के संक्षिप्त नाम को देखते हुए, संबंधित डिग्री प्रिंट करें। यदि आप 32 बिंदुओं के स्पष्टीकरण में रुचि नहीं रखते हैं, तो नीचे दी गई तालिका में आगे बढ़ने के लिए स्वतंत्र महसूस करें।
यहाँ पूर्ण कम्पास है:
विकिमीडिया कॉमन्स के माध्यम से डेनसेलोन 83 (स्वयं का काम) [ GFDL या CC-BY-SA-3.0 ]
प्रत्येक दिशा पिछले की तुलना में 11.25 (360/32) डिग्री दूर है। उदाहरण के लिए, एन (उत्तर) 0 डिग्री है, एनबीई (पूर्व से उत्तर) 11.25 डिग्री है, एनएनई (उत्तर-उत्तर पूर्व) 22.5 डिग्री है, आदि।
विस्तार से, नाम इस प्रकार हैं:
- 0 डिग्री एन है, 90 डिग्री ई है, 180 डिग्री एस है, और 270 डिग्री डब्ल्यू है। इन्हें कार्डिनल दिशाएं कहा जाता है।
- कार्डिनल दिशाओं के बीच आधे रास्ते केवल कार्डिनल दिशाओं के बीच होते हैं जो वे समवर्ती होते हैं। एन या एस हमेशा पहले जाते हैं, और डब्ल्यू या ई हमेशा दूसरे होते हैं। इन्हें क्रमिक दिशाएँ कहा जाता है। ऑर्डिनल और कार्डिनल दिशाएं मिलकर प्रधान हवाएँ बनाती हैं।
- प्रमुख हवाओं के बीच आधे रास्ते वे दिशा-निर्देश हैं जिनके बीच वे समवर्ती हैं। कार्डिनल दिशाएं पहले, क्रमिक दूसरे पर जाती हैं। इन्हें आधी हवा कहा जाता है।
- प्रिंसिपल और आधी हवाओं के बीच आधे बिंदु "प्रिंसिपल विंड से दूर निकटतम कार्डिनल दिशा" द्वारा आसन्न प्रिंसिपल विंड हैं। यह एक के साथ चिह्नित है
b
। इन्हें तिमाही हवाएं कहा जाता है।
यह निम्न चार्ट में परिणाम करता है:
# Degrees Abbrv. Name
1 0 N North
2 11.25 NbE North by east
3 22.5 NNE North-northeast
4 33.75 NEbN Northeast by north
5 45 NE Northeast
6 56.25 NEbE Northeast by east
7 67.5 ENE East-northeast
8 78.75 EbN East by north
9 90 E East
10 101.25 EbS East by south
11 112.5 ESE East-southeast
12 123.75 SEbE Southeast by east
13 135 SE Southeast
14 146.25 SEbS Southeast by south
15 157.5 SSE South-southeast
16 168.75 SbE South by east
17 180 S South
18 191.25 SbW South by west
19 202.5 SSW South-southwest
20 213.75 SWbS Southwest by south
21 225 SW Southwest
22 236.25 SWbW Southwest by west
23 247.5 WSW West-southwest
24 258.75 WbS West by south
25 270 W West
26 281.25 WbN West by north
27 292.5 WNW West-northwest
28 303.75 NWbW Northwest by west
29 315 NW Northwest
30 326.25 NWbN Northwest by north
31 337.5 NNW North-northwest
32 348.75 NbW North by west
यहां कम्पास के बिंदुओं का अधिक विस्तृत चार्ट और संभवतः बेहतर विवरण दिया गया है।
आपका कार्य तीसरे कॉलम से 32 संक्षिप्तीकरणों में से एक इनपुट के रूप में लेना है और दूसरे कॉलम में संबंधित डिग्री को आउटपुट करना है।
आप मान सकते हैं कि इनपुट हमेशा उन 32 स्ट्रिंग्स में से एक होगा (और आप वैकल्पिक रूप से लेकिन लगातार एकल अनुगामी न्यूलाइन की उम्मीद कर सकते हैं)। आउटपुट को भी ऊपर सूचीबद्ध के समान ही दिया जाना चाहिए, हालांकि अनुगामी शून्य की अनुमति है। आप वैकल्पिक रूप से एक एकल अनुगामी न्यूलाइन का उत्पादन कर सकते हैं।
आप STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट ले रहे हैं और STDOUT (या निकटतम विकल्प), फ़ंक्शन रिटर्न मान या फ़ंक्शन (आउट) पैरामीटर के माध्यम से परिणाम लिख सकते हैं।
यह कोड गोल्फ है, इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।