अब हटाए गए स्टैकओवरफ़्लो प्रश्न में, किसी ने निम्नलिखित पोस्ट किया:
एक कार्यक्रम या समारोह में बारी पैटर्न मुद्रित करने के लिए लिखें *और #एक दिया पूर्णांक के आधार पर 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)
*
*#
#*
*##
#**
*##
*###
##**
**##
###*
*####
###**
***##
###**
*####
*#####
####**
***###
###***
**####
#####*
*######
#####**
***####
###****
***####
#####**
*######
*#######
######**
***#####
####****
****####
#####***
**######
#######*
*########
#######**
***######
#####****
*****####
#####****
***######
#######**
*########
*#########
########**
***#######
######****
*****#####
#####*****
****######
#######***
**########
#########*