चुनौती
हम सभी सामान्य क्रिसमस पेड़ों के बारे में जानते हैं - लेकिन कैसे एक उल्टा क्रिसमस पेड़ के बारे में ! यह एक काफी आसान, क्रिसमस थीम्ड चुनौती है। इस चुनौती का उद्देश्य मुझे एक ASCII उल्टा क्रिसमस पेड़ बनाना है। इस चुनौती के नियम इस प्रकार हैं:
- एक विषम, सकारात्मक पूर्णांक स्वीकार करें। आप मान सकते हैं कि यह हमेशा
7और के बीच रहेगा51। पेड़ का आधार पात्रों से बना होगा:
___ \ / |पेड़ के शीर्ष (तारा), एकल से बना होगा
*।पेड़ की प्रत्येक पंक्ति का निर्माण उस प्रारूप का उपयोग करके किया जाएगा
<?>जहां?किसी भी संख्या में-एस है। उदाहरण के लिए, यदि लंबाई की रेखा बनाते हैं5, तो रेखा होनी चाहिए<--->। या यदि लंबाई की रेखा बनाते हैं8, तो रेखा होनी चाहिए<------>।यहां बताया गया है कि पेड़ के शरीर का निर्माण कैसे किया जाना चाहिए:
nइनपुट के रूप में दी गई विषम संख्या को लें , और उस लंबाई वाले पेड़ की एक पंक्ति बनाएं।घटाएँ
4सेnऔर पेड़ कि लंबाई की एक पंक्ति बनाएँ।घटाएँ
2सेnऔर पेड़ कि लंबाई की एक पंक्ति बनाएँ।से घटा
nहै2। उसके बाद, जब तकnबराबरी5न हो , चरण 2 पर वापस जाएं।
आधार (देखें चरण 2) स्टार (देखें चरण 3) और पेड़ की प्रत्येक पंक्ति (चरण 4 और 5 देखें) सभी को मूल विषम संख्या इनपुट का उपयोग करके केंद्रित किया जाना चाहिए (चरण 1 देखें) अधिकतम के रूप में चौड़ाई।
उदाहरण / परीक्षण मामले
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
नियम
- मानक खामियां लागू होती हैं ।
- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे कम जवाब जीतता है!
repeat the above steps until the odd number minus 2 equals 5- पहले इनपुट में, विषम संख्या 7, और 7-2 = 5 है, इसलिए पेड़ को तुरंत समाप्त होना चाहिए (मुझे पता है कि आपका क्या मतलब है, लेकिन इसे
7, न्यूनतम इनपुट है, तो आप पहले तीन ट्री लाइन (सब-स्टेप्स .1.1, .1.2, .1.3) बनाएंगे, फिर2 विषम संख्या से घटाएं और यदि बराबर हो तो परीक्षण करें 5। यह जांचने का निर्देश कि क्या "विषम संख्या शून्य 2 5 के बराबर है" अंत में है, अन्य तीन चरणों को पहले किया जाना चाहिए। लेकिन आपकी पहली टिप्पणी का जवाब देने के लिए, यह ठीक रहेगा।
7इनपुट के 4रूप में स्वीकार करना है या यदि आप स्वीकार कर सकते हैं , जैसे कि चौथे विषम संख्या में (या 3यदि यह 0-अनुक्रमित है)।