चुनौती का वर्णन
हमने लुक-एंड-सीक्वेंस को शामिल करते हुए कुछ चुनौतियों का सामना किया है । त्वरित अनुस्मारक:
- अनुक्रम के साथ शुरू होता है
1
, - इस क्रम के बाद के नियम पिछले कार्यकाल में अंकों के दोहराव के प्रत्येक समूह की गणना करके उत्पन्न होते हैं,
तो पहले कुछ शब्द हैं:
1 "one"
11 "one one" (we look at the previous term)
21 "two ones"
1211 "one two, one one"
111221 "one one, one two, two ones"
312211 "three ones, two twos, one one"
अब एक ही काम करते हैं, लेकिन इसके बजाय रोमन अंकों का उपयोग करें। हम साथ शुरू I
और एक ही नियमों का पालन करें (हम, बजाय वर्णों के लिए अंकों की गिनती नियम लागू तो हम पढ़ IVX
के रूप में one one, one five, one ten
के बजाय one four, one ten
या किसी अन्य तरीके):
I "one"
II "one one"
III "two ones" = "II" + "I"
IIII "three ones" = "III" + "I"
IVI "four ones" = "IV" + "I"
IIIVII "one one, one five, one one"
IIIIIVIII "three ones, one five, two ones" = ("III" + "I") + ("I" + "V") + ("II" + "I")
एक सकारात्मक पूर्णांक को देखते हुए N
, या तो:
N
इस अनुक्रम के आउटपुट पहले अंक (कोई भी उचित विभाजक ठीक है, साथ ही साथ["I", "II", "III", ...]
N
इस अनुक्रम का आउटपुट थ टर्म (यह 0-अनुक्रमित हो सकता है)।
अपने कोड को यथासंभव छोटा बनाना याद रखें, क्योंकि यह एक कोड-गोल्फ चुनौती है!
संपादित करें: मेरा मानना है कि पूर्णांक को रोमन अंकों के रूप में व्यक्त करने का हमेशा एक मानक / पसंदीदा तरीका है, (जैसे 95
-> XCV
इसके बजाय VC
)। रोमन संख्या के कन्वर्टर्स के जोड़े मैंने पाया कि मेरी राय ऑनलाइन है। यदि संदेह है, तो एक ऑनलाइन कन्वर्टर का उपयोग करें , क्योंकि रोमन अंकों को लिखने के सभी संभावित किनारे-मामलों और विशिष्ट नियमों को सूचीबद्ध करना इस चुनौती का बिंदु नहीं है।
EDIT2: @PeterTaylor और @GregMartin ने बताया कि केवल संख्या कम या इसके बराबर 5
, अनुक्रम में दिखाई देते हैं ताकि आप रोमन अंकों की अस्पष्टता के बारे में चिंता की जरूरत नहीं है (संख्या 1
- 8
कर रहे हैं I
, II
, III
, IV
, V
, VI
, VII
, और VIII
)
4
/ IV
/ IIII
? या 95
/ XCV
/ VC
? हमेशा एक पूर्णांक व्यक्त करने का एक अनूठा तरीका नहीं हो सकता है, लेकिन मुझे पूरा यकीन है कि हमेशा एक पसंदीदा (मानक) एक है - मुझे गलत होने पर सही करें।