यह चुनौती इस वीडियो पर आधारित है । मेरा सुझाव है कि इस चुनौती को आजमाने से पहले आप इसे देखें।
पहले हम एक फंक्शन को परिभाषित करते हैं। यह फ़ंक्शन ( OEIS ) एक पूर्णांक n इनपुट के रूप में लेता है और n (स्थान या हाइफ़न के बिना) के अंग्रेजी प्रतिनिधित्व में अक्षरों की संख्या को आउटपुट करता है। उदाहरण के लिए "तीन" में 5 अक्षर हैं इसलिए 5 से 3 नक्शे।
जैसा कि इस प्रक्रिया को दोहराते हुए किसी भी संख्या से शुरू होने वाले वीडियो में दिखाया जाता है, आखिरकार एक चार में परिणाम होगा, जो हमेशा के लिए अपने आप में मैप हो जाएगा।
यहाँ एक क्रूड निर्देशित ग्राफ है जो 16 से कम संख्याओं की कक्षाओं को दर्शाता है:
12 11
\|
15 2 6 1 10 14 13
\ \|/ / / /
7 3-/ 8--/
\| /
9 0 5--/
\ \|
\-4
आपकी चुनौती यह है कि चार चरणों तक पहुंचने से पहले (यानी इस फ़ंक्शन को किसी संख्या पर लागू किया जाना चाहिए) संख्याओं के चरणों को निर्धारित करना है (यानी निर्देशित चित्र पर स्तर)।
अंग्रेजी नंबर बनाने
इस चुनौती के लिए किसी को अंग्रेजी शब्द कैसे बनाने चाहिए, इसकी संक्षिप्त व्याख्या इस प्रकार है:
उन्नीस के माध्यम से नंबर एक हैं:
एक, दो, तीन, चार, पांच, छह, सात, आठ, नौ, दस, ग्यारह, बारह, तेरह, चौदह, पंद्रह, सोलह, सत्रह, अठारह, उन्नीस
उन्नीस से अधिक संख्या के लिए प्रक्रिया इस प्रकार है:
यदि संख्या में एक सैकड़ों जगह है तो सैकड़ों जगह और "सौ" में अंक के नाम से शुरू होगा।
जैसे
100 -> "onehundred"
यदि शेष बीस से कम है तो शेष अंग्रेजी का प्रतिनिधित्व करें।
जैसे
714 -> "sevenhundredfourteen"
अन्यथा अगर दहाई का अंक शून्य नहीं है तो उचित प्रतिनिधित्व को जोड़ें:
2-> twenty
3-> thirty
4-> forty
5-> fifty
6-> sixty
7-> seventy
8-> eighty
9-> ninety
जैसे
470 -> "fourhundredseventy"
अंत में अगर कोई अंक है तो उसका प्रतिनिधित्व बढ़ाएँ
जैसे
681 -> "sixhundredeightyone"
आगे की शर्तें
एक सौ से अधिक संख्या के लिए आपको अक्षरों की संख्या गिनते समय "और" छोड़ देना चाहिए। उदाहरण के लिए 577 "फाइवहेसवेंटीवेन" है जिसमें 23 अक्षर हैं।
आपके प्रोग्राम को मानक विधियों के माध्यम से इनपुट के रूप में 0 से अधिक और 1,000 से कम सभी पूर्णांक को स्वीकार करना चाहिए।
आपके प्रोग्राम को मानक आउटपुट विधियों के लिए आवश्यक चरणों की संख्या को आउटपुट करना होगा।
यह कोडगॉल्फ है इसलिए सबसे कम बाइट्स जीत के साथ समाधान।
परीक्षण के मामलों
1 -> 3
4 -> 0
7 -> 2
23 -> 5
577 -> 6
600 -> 4