चुनौती
हम सभी सामान्य क्रिसमस पेड़ों के बारे में जानते हैं - लेकिन कैसे एक उल्टा क्रिसमस पेड़ के बारे में ! यह एक काफी आसान, क्रिसमस थीम्ड चुनौती है। इस चुनौती का उद्देश्य मुझे एक 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-अनुक्रमित है)।