अब हटाए गए स्टैकओवरफ़्लो प्रश्न में, किसी ने निम्नलिखित पोस्ट किया:
एक कार्यक्रम या समारोह में बारी पैटर्न मुद्रित करने के लिए लिखें *
और #
एक दिया पूर्णांक के आधार पर n
। कुछ उदाहरण:
इनपुट: n=1
आउटपुट:
*
इनपुट n=5
आउटपुट:
*####
###**
***##
###**
*####
इनपुट: n=8
आउटपुट:
*#######
######**
***#####
####****
****####
#####***
**######
#######*
चूंकि यह एक बहुत अच्छा कोड-गोल्फ चुनौती की तरह लग रहा था, यहाँ यह है।
ये पैटर्न कैसे बनते हैं?
पहली पंक्ति एकल के साथ शुरू होती है *
, जिसके बाद n-1
अनुगामी राशि होती है #
।
दूसरी पंक्ति में दो होते हैं *
, जिसमें n-2
अग्रणी राशि होती है #
।
तीसरी पंक्ति तीन से शुरू होती है *
, उसके बाद n-3
अनुगामी राशि होती है #
।
आदि।
एक बार जब हम बीच में पहुँच गए हैं ( n/2
), हम फिर से गणना करते हैं *
, जिसकी मात्रा ऊपर के उदाहरणों में देखी जा सकती है।
ध्यान दें कि विषम इनपुट नंबरों के लिए लाइनों की उलटी जोड़ी (इसलिए पहली और आखिरी; दूसरी और आखिरी से आखिरी; आदि) बिल्कुल समान हैं। में n=5
उदाहरण के प्रथम और अंतिम लाइनें हैं *####
; दूसरी और अंतिम पंक्तियाँ हैं ###**
।
यहां तक कि इनपुट संख्याओं के लिए भी उलटी जोड़ी गई रेखाएं उलट जाती हैं। में n=8
उदाहरण के प्रथम और अंतिम लाइनें हैं *#######
और #######*
; दूसरे और अंतिम लाइनों के बगल में हैं ######**
और **######
; आदि।
चुनौती नियम:
- आप किसी भी दो अलग-अलग उपयोग कर सकते हैं मुद्रण योग्य बजाय वर्ण
*
और#
। आप उपयोग कर सकते हैंA
औरB
;3
और7
;<
और>
; आदि कृपया अपने उत्तरों में बताएं कि आपने क्या उपयोग किया है। - आप मान सकते हैं
n
कि एक सकारात्मक पूर्णांक (>= 1
) होगा - आपको प्रत्येक पंक्ति या वर्णों के 2D मैट्रिक्स के लिए स्ट्रिंग की एक सूची / सरणी को आउटपुट करने की अनुमति है, बजाय उन्हें STDOUT को प्रिंट करने के।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - आपके उत्तर के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित मापदंडों और रिटर्न-टाइप, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा फोन।
- डिफ़ॉल्ट लूपोल्स वर्जित हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- साथ ही, आपके उत्तर के लिए स्पष्टीकरण जोड़ना अत्यधिक अनुशंसित है।
परीक्षण के मामले (पहले के n=1
माध्यम से n=10
)
*
*#
#*
*##
#**
*##
*###
##**
**##
###*
*####
###**
***##
###**
*####
*#####
####**
***###
###***
**####
#####*
*######
#####**
***####
###****
***####
#####**
*######
*#######
######**
***#####
####****
****####
#####***
**######
#######*
*########
#######**
***######
#####****
*****####
#####****
***######
#######**
*########
*#########
########**
***#######
######****
*****#####
#####*****
****######
#######***
**########
#########*