मान लीजिए हमारे पास एक संख्या n है। हमें n x n आकार की वर्णमाला रंगोली बनानी है। n 1 और 26 के बीच होना चाहिए और जब n 26 हो तो यह a से शुरू होकर z पर समाप्त होगी।
उदाहरण के लिए, यदि इनपुट 5 है, तो आउटपुट होगा:
--------e-------- ------e-d-e------ ----e-d-c-d-e---- --e-d-c-b-c-d-e-- e-d-c-b-a-b-c-d-e --e-d-c-b-c-d-e-- ----e-d-c-d-e---- ------e-d-e------ --------e--------
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- i के लिए n-1 से 0 तक, 1 से घटाते हुए, करें
- j के लिए 0 से i-1 तक की रेंज में, करें
- "--" प्रिंट करें
- j के लिए n-1 से i+1 तक, 1 से घटाते हुए, करें
- ASCII j+97 वाला वर्ण प्रिंट करें और अंत में अतिरिक्त "-" प्रिंट करें
- j के लिए i से n-1 तक की रेंज में, करें
- यदि j, n-1 के समान नहीं है, तो
- ASCII j+97 वाला वर्ण प्रिंट करें और अंत में अतिरिक्त "-" प्रिंट करें
- अन्यथा,
- ASCII j+97 वाला वर्ण प्रिंट करें
- यदि j, n-1 के समान नहीं है, तो
- j के लिए 0 से 2*i - 1 तक की रेंज में, करें
- अंत में "-" प्रिंट करें
- अगली पंक्ति के लिए जाएं
- j के लिए 0 से i-1 तक की रेंज में, करें
- i के लिए 1 से n-1 तक की रेंज में, करें
- j के लिए 0 से i तक की रेंज में, करें
- "--" प्रिंट करें
- j के लिए n-1 से i+1 तक, 1 से घटाते हुए, करें
- ASCII j+97 वाला वर्ण प्रिंट करें और अंत में अतिरिक्त "-" प्रिंट करें
- j के लिए i से n-1 तक की रेंज में, करें
- यदि j, n-1 के समान नहीं है, तो
- ASCII j+97 वाला वर्ण प्रिंट करें और अंत में अतिरिक्त "-" प्रिंट करें
- अन्यथा,
- ASCII j+97 वाला वर्ण प्रिंट करें
- यदि j, n-1 के समान नहीं है, तो
- j के लिए 0 से 2*i - 1 तक की रेंज में, करें
- अंत में "-" प्रिंट करें
- अगली पंक्ति पर जाएं
- j के लिए 0 से i तक की रेंज में, करें
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें:
def solve(n):
for i in range(n-1, -1, -1):
for j in range(i):
print(end="--")
for j in range(n-1, i, -1):
print(chr(j+97), end="-")
for j in range(i, n):
if j != n-1:
print(chr(j+97), end="-")
else:
print(chr(j+97), end="")
for j in range(2*i):
print(end="-")
print()
for i in range(1, n):
for j in range(i):
print(end="--")
for j in range(n-1, i, -1):
print(chr(j+97), end="-")
for j in range(i, n):
if j != n-1:
print(chr(j+97), end="-")
else:
print(chr(j+97), end="")
for j in range(2*i):
print(end="-")
print()
n = 8
solve(n)इनपुट
8
आउटपुट
--------------h-------------- ------------h-g-h------------ ----------h-g-f-g-h---------- --------h-g-f-e-f-g-h-------- ------h-g-f-e-d-e-f-g-h------ ----h-g-f-e-d-c-d-e-f-g-h---- --h-g-f-e-d-c-b-c-d-e-f-g-h-- h-g-f-e-d-c-b-a-b-c-d-e-f-g-h --h-g-f-e-d-c-b-c-d-e-f-g-h-- ----h-g-f-e-d-c-d-e-f-g-h---- ------h-g-f-e-d-e-f-g-h------ --------h-g-f-e-f-g-h-------- ----------h-g-f-g-h---------- ------------h-g-h------------ --------------h--------------