मान लीजिए हमारे पास एक संख्या n है। हमें n पंक्तियों तक पास्कल ट्रायंगल जनरेट करना है। पास्कल ट्रायंगल इस तरह दिखेगा:

पास्कल ट्रायंगल का गुण यह है कि पिछली पंक्ति के प्रत्येक आसन्न दो संख्याओं का योग वह मान है जो दूसरी पंक्ति पर ठीक नीचे रखा गया है। उदाहरण के लिए, पंक्ति 6 पर पहला 10, पंक्ति 5 पर 4 और 6 का योग है और दूसरा 10 पंक्ति 5 पर दो संख्याओं 6 और 4 का योग है।
उदाहरण के लिए, यदि इनपुट n = 5 है, तो आउटपुट होगा:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- i के लिए 0 से n+1 तक की रेंज में, करें
- j के लिए 0 से n-i तक की रेंज में, करें
- एक खाली स्थान प्रिंट करें
- C := 1
- j के लिए 1 से i+1 तक की रेंज में, करें
- C प्रिंट करें फिर एक खाली स्थान
- C := (C * (i - j) / j) का भागफल
- अगली पंक्ति पर जाएं
- j के लिए 0 से n-i तक की रेंज में, करें
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें:
def solve(n):
for i in range(n+1):
for j in range(n-i):
print(' ', end='')
C = 1
for j in range(1, i+1):
print(C, ' ', sep='', end='')
C = C * (i - j) // j
print()
n = 5
solve(n)इनपुट
5
आउटपुट
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1