पृष्ठभूमि
जब मैं छोटा था, तो मुझे एक अजीब "एस" आकार बनाने की एक विधि सिखाई गई थी, जिसे मैं (अपने सहपाठियों के साथ) आकर्षक पाया। आज, मैंने इसे फिर से खोज लिया, और इसे आकर्षित करने के अपने फार्मूले के कारण, सोचा कि यह एक दिलचस्प चुनौती हो सकती है।
"S" खींचना
S को इन सरल चरणों का पालन करके तैयार किया जा सकता है:
सबसे पहले, तीन ऊर्ध्वाधर रेखाओं की 2 पंक्तियों को इस तरह खींचें
| | |
| | |
इसके बाद, शीर्ष बाईं रेखा को नीचे की मध्य रेखा और शीर्ष मध्य को नीचे दाईं ओर की रेखा के साथ जोड़ दें
| | |
\ \
| | |
अंत में, वर्तमान में खींची गई छवि पर एक शीर्ष और नीचे खींचें ताकि यह दिखने में समाप्त हो जाए
^
/ \
| | |
\ \
| | |
\ /
v
जैसा कि आप देख सकते हैं, यह एक "एस" आकार में परिणाम है। जब बढ़ाया जाता है (2 से अधिक पंक्तियों के साथ इसे खींचा जाता है), यह एक बहुत ही दिलचस्प पैटर्न पैदा करता है। आपका कार्य इस दिलचस्प पैटर्न को पुन: पेश करता है।
कार्य
एक पूर्णांक को देखते हुए n >= 2
, जहाँ से n
पंक्तियों के साथ S को आउटपुट किया जाता है। आउटपुट को एक फ़ंक्शन से वापस किया जा सकता है, और इनपुट मानक विधियों में लिया जा सकता है। समग्र छवि, साथ ही प्रत्येक पंक्ति के लिए अनुगामी / अग्रणी व्हाट्सएप, ठीक है। हालांकि, अग्रणी लाइन स्पेस लगातार होना चाहिए ताकि "टूट न जाए। आप लाइनों की सूची के रूप में आउटपुट कर सकते हैं।"
परीक्षण के मामलों
input
output
---
2
^
/ \
| | |
\ \
| | |
\ /
v
---
8
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
---
10
^
/ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ \
| | |
\ /
v
यह एक कोड-गोल्फ है इसलिए सबसे छोटा कोड जीतता है! सौभाग्य,
S
को कॉल करता है , औरS Chain