मैंने इस चुनौती को पोस्ट करने से पहले सैंडबॉक्स की जांच नहीं की - ऐसा लगता है कि यह चुनौती Cʀɪᴇɴ O'Bʀɪᴇɴ द्वारा प्रस्तावित की गई थी ।
पूर्णांक इनपुट को देखते हुए, एक प्रोग्राम लिखें जो "चार एक जादू नंबर है" पहेली को प्रिंट करता है
- चार मैजिक नंबर है
- पांच चार है और चार मैजिक नंबर है
- छह तीन है और तीन पांच है और पांच चार है और चार मैजिक नंबर है
- ग्यारह साढ़े छह है और तीन तीन है और पांच पांच है और पांच चार है और चार जादू की संख्या है
- पाँच सौ ग्यारह हैं और ग्यारह छह हैं और छह तीन है और तीन पाँच है और पाँच चार है और चार जादू की संख्या है
यदि आप पहले से ही पहेली को जानते हैं, या यह जानने के लिए उत्सुक हैं कि यह जानने के लिए उत्सुक हैं कि पहेली क्या है, तो यहाँ एक स्पष्टीकरण है
अगली संख्या पिछली संख्या के अक्षरों की संख्या है। इसलिए, उदाहरण के लिए, पाँच में चार अक्षर हैं, इसलिए अगली संख्या चार है ।
छह में तीन अक्षर होते हैं, इसलिए अगली संख्या 3 होती है , और तीन में पाँच अक्षर होते हैं, इसलिए अगली संख्या 5 होती है , और पाँच में चार अक्षर होते हैं, इसलिए अगली संख्या 4
होती है, क्योंकि चार पर पहेली खत्म होती है क्योंकि चार में चार अक्षर होते हैं , और चार चार है और चार चार है और चार चार है ... (चार जादू की संख्या है)
परीक्षण के मामलों
0 =>
Zero is four and four is the magic number
1 =>
One is three and three is five and five is four and four is the magic number
2 =>
Two is three and three is five and five is four and four is the magic number
3 =>
Three is five and five is four and four is the magic number
4 =>
Four is the magic number
5 =>
Five is four and four is the magic number
6 =>
Six is three and three is five and five is four and four is the magic number
7 =>
Seven is five and five is four and four is the magic number
8 =>
Eight is five and five is four and four is the magic number
9 =>
Nine is four and four is the magic number
10 =>
Ten is three and three is five and five is four and four is the magic number
17 =>
Seventeen is nine and nine is four and four is the magic number
100 =>
One Hundred is ten and ten is three and three is five and five is four and four is the magic number
142 =>
One Hundred Forty Two is eighteen and eighteen is eight and eight is five and five is four and four is the magic number
1,000 =>
One Thousand is eleven and eleven is six and six is three and three is five and five is four and four is the magic number
1,642 =>
One Thousand Six Hundred Forty Two is twenty nine and twenty nine is ten and ten is three and three is five and five is four and four is the magic number
70,000 =>
Seventy Thousand is fifteen and fifteen is seven and seven is five and five is four and four is the magic number
131,072 =>
One Hundred Thirty One Thousand Seventy Two is thirty seven and thirty seven is eleven and eleven is six and six is three and three is five and five is four and four is the magic number
999,999 =>
Nine Hundred Ninety Nine Thousand Nine Hundred Ninety Nine is fifty and fifty is five and five is four and four is the magic number
नियम
- इनपुट या तो
STDINकिसी फ़ंक्शन से तर्क के रूप में लिया जा सकता है - इनपुट 0 और 999,999 के बीच एक पॉजिटिव नंबर होगा
- इनपुट में केवल नंबर होंगे (यह regex का अनुसरण करेगा
^[0-9]+$) - इनपुट को पूर्णांक या स्ट्रिंग के रूप में लिया जा सकता है
- जब एक शब्द स्ट्रिंग में परिवर्तित हो जाता है, तो रिक्त स्थान और हाइफ़न को गिनती में शामिल नहीं किया जाना चाहिए (100 [एक सौ] 10 वर्ण हैं, न कि 11. 1,742 [एक हजार सात सौ चालीस -31] 31 वर्ण हैं, 36 नहीं)
- जब एक स्ट्रिंग में परिवर्तित किया जाता है, तो 100 को एक सौ, एक सौ या सौ नहीं होना चाहिए, 1000 को एक हजार होना चाहिए, न कि एक हजार या हजार।
- जब एक स्ट्रिंग के लिए परिवर्तित कर 142 एक सौ चालीस दो, नहीं एक सौ होना चाहिए और चालीस दो
- उत्पादन होता है केस-संवेदी , और प्रारूप का पालन करना चाहिए " एन है कश्मीर और कश्मीर है एम और एम है ... और चार जादुई संख्या है" (जब तक इनपुट 4, है जो मामले में उत्पादन बस "होना चाहिए चार जादू नंबर है ")
- जब तक आपका प्रोग्राम हमेशा संगत रहता है तब तक आउटपुट अक्षरों के बजाय संख्याओं का उपयोग कर सकता है ("5 है 4 और मैजिक नंबर है" के बजाय "फाइव इज़ फोर इज फोर मैजिक नंबर है")
- आउटपुट या तो किसी फ़ंक्शन का रिटर्न मान हो सकता है, या प्रिंट कर सकता है
STDOUT - मानक खामियां लागू होती हैं
- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है। सौभाग्य!
बोनस
-30 बाइट्स यदि प्रोग्राम तब काम करता है जब इनपुट -999,999 और 999,999 के बीच होता है।
नकारात्मक संख्याएं, जब शब्दों में परिवर्तित होती हैं, तो बस उनके सामने "नकारात्मक" होता है। उदाहरण के लिए -4"नेगेटिव फोर" है, नेगेटिव फोर बारह है और बारह साढ़े छह है और साढ़े तीन है और पांच पांच है और पांच चार है और चार मैजिक नंबर है
-150 बाइट्स यदि प्रोग्राम संख्या के स्ट्रिंग प्रतिनिधित्व को उत्पन्न करने के लिए किसी भी अंतर्निहित कार्यों का उपयोग नहीं करता है
लीडरबोर्ड
यह एक स्टैक स्निपेट है जो लीडरबोर्ड और भाषा द्वारा विजेताओं के अवलोकन दोनों को उत्पन्न करता है।
अपने उत्तर को सुनिश्चित करने के लिए, कृपया निम्नलिखित मार्काडाउन टेम्पलेट का उपयोग करके अपना उत्तर शीर्षक से शुरू करें
## Language Name, N bytes
जहाँ N आकार में है, बाइट्स में, आपके सबमिशन का
यदि आप अपने हेडर में कई संख्याओं को शामिल करना चाहते हैं (उदाहरण के लिए, पुराने स्कोर के माध्यम से, या बाइट काउंट में झंडे सहित), तो बस यह सुनिश्चित कर लें कि वास्तविक शीर्षक आपके हेडर में अंतिम संख्या है।
## Language Name, <s>K</s> X + 2 = N bytes