यह प्रश्न केविन क्रूज़सेन के प्रश्न से प्रेरित है ।
अब जब कालीन बिछाया गया है, हम इसे रोल करना चाहते हैं। आपका कार्य एक प्रोग्राम लिखना है जो एक स्ट्रिंग लेता है और इस स्ट्रिंग से बना एक सर्पिल लौटाता है (एक तरफ से देखे गए लुढ़का कालीन का प्रतिनिधित्व करता है)।
कालीन को रोल करने के एक चरण की प्रक्रिया निम्नलिखित है। इसका एक उदाहरण है कि मेरा क्या मतलब है। ध्यान दें कि उदाहरण बेहतर समझ के लिए आंशिक रूप से लुढ़के कालीन से शुरू होता है:
ac
rpet
- "सिर" को कालीन की "पूंछ" से अलग करें: सिर वह है जो अब तक लुढ़का हुआ है, पूंछ वह है जो लुढ़का हुआ है।
Head: ac Tail:
rp et
- सिर को 90 °, दक्षिणावर्त घुमाएँ।
Rotated head: ra Tail (unchanged):
pc et
- यदि नए सिर की चौड़ाई (यहां
2
) पूंछ की लंबाई से कम या बराबर है (यहां2
)- फिर, इसे पूंछ के ऊपर रखें
- दूसरा, कालीन (जैसा कि यह कदम की शुरुआत में था) लुढ़का हुआ था
New carpet: ra
pc
et
आवश्यकतानुसार प्रक्रिया को कई बार दोहराएं।
कारपेट रोलिंग के सभी चरणों को दिखाने वाले दो उदाहरण:
carpet
c
arpet
ac
rpet
ra
pc
et
0123456789
0
123456789
10
23456789
21
30
456789
432
501
6789
कुछ पूर्वाग्रह:
- आपको सभी मध्यवर्ती चरणों को दिखाने की आवश्यकता नहीं है, केवल लुढ़का हुआ कालीन (जैसे यदि आप परिणाम की गणना करने के लिए एक गैर-पुनरावृत्ति तरीका पाते हैं, तो यह सही है)। इसके अलावा, आपको किसी भी प्रमुख व्हाट्सएप को प्रिंट करने की आवश्यकता नहीं है, ऊपर दिए गए उदाहरणों में, मैं केवल उन्हें सामान संरेखित करने के लिए दिखाता हूं।
- इनपुट एक स्ट्रिंग, एक सूची / सरणी है
- आउटपुट को stdout या किसी फ़ाइल में प्रिंट किया जाता है।
- इनपुट अच्छा है: लंबाई कम से कम 1 char है, और कम से कम एक निरंतर पर्याप्त रूप से छोटा है ताकि यह समस्या पैदा न करे, लेकिन आप अपने प्रोग्राम में उस निरंतर का उपयोग नहीं कर सकते हैं; स्ट्रिंग की सामग्री केवल अच्छे वर्ण ([a-zA-Z0-9]) है, जो आपकी प्राथमिकता पर एन्कोडिंग है।
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है। कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें।
- डिफ़ॉल्ट लूपोल्स वर्जित हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- यदि आपको लगता है कि इसकी आवश्यकता है, तो अपने उत्तर के लिए स्पष्टीकरण भी जोड़ें।
ProgrammingPuzzlesAndCodeGolf
- अंतिम पूंछ की लंबाई 1 से अधिक है।
print
अंदर उपयोग नहीं कर सकता lambda
।