यह इसी तरह के एक प्रश्न का एक कोड गोल्फ संस्करण है जो मैंने पहले स्टैक पर पूछा था लेकिन सोचा था कि यह एक दिलचस्प पहेली होगी।
लंबाई 10 की एक स्ट्रिंग को देखते हुए जो एक बेस 36 नंबर का प्रतिनिधित्व करता है, इसे एक से बढ़ाता है और परिणामस्वरूप स्ट्रिंग वापस करता है।
इसका मतलब यह है तार केवल से अंक में शामिल होंगे 0
करने 9
से और पत्र a
के लिए z
।
बेस 36 इस प्रकार काम करता है:
सही सबसे अंकों वृद्धि की जाती है, पहले का उपयोग करके 0
करने के लिए9
0000000000> 9 पुनरावृत्तियों> 0000000009
और उसके बाद a
करने के लिए z
प्रयोग किया जाता है:
000000000a> 25 पुनरावृत्तियों> 000000000z
अगर z
वृद्धि करने की आवश्यकता है तो यह शून्य पर वापस आ जाता है और इसके बाईं ओर का अंक बढ़ जाता है:
000000010
आगे के नियम:
- आप ऊपरी केस या लोअर केस लेटर्स का उपयोग कर सकते हैं।
- आप अग्रणी शून्य को नहीं छोड़ सकते । इनपुट और आउटपुट दोनों की लंबाई 10 है।
- आपको
zzzzzzzzzz
इनपुट के रूप में संभालने की आवश्यकता नहीं है ।
परीक्षण के मामलों:
"0000000000" -> "0000000001"
"0000000009" -> "000000000a"
"000000000z" -> "0000000010"
"123456zzzz" -> "1234570000"
"00codegolf" -> "00codegolg"
"0zzzzzzzzz"
एक परीक्षण मामले के रूप में कुछ जोड़ते हैं (सबसे अधिक सांकेतिक अंक को संशोधित करें)। ऑफ-वन-एरर के कारण इसने मेरे C सॉल्यूशन को तीन गुना कर दिया।