पास्कल त्रिभुज – सूत्र, पैटर्न और उदाहरण
पास्कल का त्रिभुज क्या है?
पास्कल का त्रिभुज संख्याओं की एक त्रिकोणीय सरणी है जिसके बाद एक विशेष पैटर्न और उससे पहले की पंक्ति से संबंध होता है। इसका आविष्कार ब्लेज़ पास्कल ने किया था। यह त्रिभुज पहली पंक्ति में एक तत्व से शुरू होता है। उसके बाद, प्रत्येक पंक्ति "1" से शुरू और समाप्त होती है।
पास्कल के त्रिभुज का इतिहास
चीनी पुस्तक "द नाइन चैप्टर्स ऑन द मैथमेटिकल आर्ट" में पास्कल के त्रिभुज के पहले उदाहरणों में से एक है। इसके अलावा, इसमें आज के त्रिभुजों में पाए जाने वाले कुछ समान पैटर्न और गुण शामिल हैं।
पास्कल यूरोप के उन कई लोगों में से एक थे जिन्होंने त्रिभुज का अध्ययन किया था। उनसे पहले अन्य गणितज्ञों ने संख्याओं के ऐसे ही त्रिभुजाकार सरणी की जांच की थी।
पास्कल त्रिभुज का निर्माण
पास्कल त्रिभुज का निर्माण सरल है। आपको बस इतना याद रखना है कि पंक्ति 1 से शुरू और खत्म होती है। बाकी संख्याओं के लिए नियम इस प्रकार है:
किसी भी पंक्ति r और स्तंभ c के लिए, संख्या पंक्ति r-1 से स्तंभ c-1 और c का योग होगी।
यहाँ,
- आर = 3,4,5….
- n और c = 2,3,4,…r-1.
पास्कल त्रिभुज बनाने के चरण इस प्रकार हैं:
चरण 1) आइये दो पंक्तियों को भरकर शुरुआत करें।
चरण 2) तीसरी पंक्ति के लिए दूसरा तत्व दूसरी पंक्ति में पहली और दूसरी संख्याओं का योग है।
चरण 3) चौथी पंक्ति "1" से शुरू होगी। दूसरी संख्या 3 है, जो 1 और 2 का योग है (नीले रंग में हाइलाइट किया गया है)।
नीचे दी गई छवि दिखाती है कि चौथी पंक्ति कैसे भरें:
चरण 4) पांचवीं पंक्ति में पांच संख्याएँ होंगी। हम पहले के चरणों से पंक्तियों को भरने के पैटर्न को पहले से ही जानते हैं।
पास्कल त्रिभुज सूत्र – द्विपद गुणांक
द्विपद गुणांक एक संख्या है जो n तत्वों के संग्रह से k तत्वों के उपसमूह को चुनने के लिए विभिन्न तरीकों को व्यक्त करती है। अक्सर, इसे “C(n,k)” या “n choose k” के रूप में लिखा जाता है।
द्विपद गुणांक को इस प्रकार परिभाषित किया जाता है
“!” “फैक्टरियल” को दर्शाता है।
एन! = एन.(एन-1).(एन-2)…3.2.1
उदाहरण के लिए,
०! = 5
= 120
तो, मान लें C(5,3) या 5 तो 3 = 5 चुनें! / 3!(5-3)!
= 120/(12)
= 10
विधि 1: पिछली पंक्ति से पास्कल त्रिभुज का निर्माण
इस प्रक्रिया के चरण पास्कल के त्रिभुज के समान ही हैं। मान लीजिए कि हम सात पंक्तियों तक पास्कल का त्रिभुज बनाना चाहते हैं।
ऐसा करने के लिए चरण इस प्रकार हैं:
चरण 1) सबसे ऊपरी पंक्ति को “1” से शुरू करें।
चरण 2) पंक्ति “r” के लिए, “c” आइटम “c-1” का गुणनफल होगा और “c” “r-1” पंक्ति की संख्या होगी।
चरण 3) पंक्ति में पहला और अंतिम अंक हमेशा “1” होगा।
पास्कल त्रिभुज बनाने के लिए हमें इन तीन आसान चरणों का पालन करना होगा।
C++ पिछली पंक्ति द्वारा पास्कल त्रिभुज का कोड
#include <bits/stdc++.h> using namespace std; void printRow(int n) { int numbers[n][n]; for (int row = 0; row < n; row++) { for (int col = 0; col <= row; col++) { if (col == 0 || col == row) { numbers[row][col] = 1; } else { numbers[row][col] = numbers[row - 1][col - 1] + numbers[row - 1][col]; } cout << numbers[row][col] << "\t"; } cout << endl; } } int main() { int n; cout << "How many rows: "; cin >> n; printRow(n); }
आउटपुट:
How many rows: 7 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
Python पिछली पंक्ति द्वारा पास्कल त्रिभुज सूत्र का कोड
def printRow(n): numbers = [[0 for row in range(n)] for col in range(n) ] for row in range(len(numbers)): for col in range(0, row+1): if row == col or col == 0: numbers[row][col] = 1 else: numbers[row][col] = numbers[row-1][col-1]+numbers[row-1][col] print(numbers[row][col],end="\t") print("\n") n = int(input("How many rows: ")) printRow(n)
पास्कल त्रिभुज उदाहरण आउटपुट:
How many rows: 7 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
जटिलता विश्लेषण
A दो-आयामी सरणी कार्यान्वयन में इस्तेमाल किया गया था। दिया गया है कि N पास्कल के त्रिभुज में पंक्तियों की संख्या है। इसके लिए N की आवश्यकता होगी2 इकाई स्थान। इसलिए, O स्थान जटिलता होगी (N2).
हमारे पास फ़ंक्शन में दो लूप हैं, और प्रत्येक लूप “N” बार चलता है। इसलिए, समय जटिलता भी है पर2) या वर्ग समय जटिलता.
विधि 2: द्विपद गुणांक की गणना करके पास्कल त्रिभुज का निर्माण
हम द्विपद गुणांक का उपयोग करके आसानी से पास्कल त्रिभुज की संख्याएँ प्राप्त कर सकते हैं। यहाँ आरेख है:
द्विपद की गणना करके पास्कल त्रिभुज बनाने के चरण यहां दिए गए हैं:
चरण 1) सबसे ऊपर वाली पंक्ति C(0,0) होगी। द्विपद गुणांक के लिए ऊपर दिए गए सूत्र का उपयोग करते हुए, C(0,0) = 1. क्योंकि 0! = 1.
चरण 2) पंक्ति “i” के लिए, कुल “i” तत्व होंगे। प्रत्येक आइटम की गणना C(n,r) से की जाएगी जहाँ n i-1 होगा।
चरण 3) पास्कल त्रिभुज के लिए इच्छित पंक्तियों की संख्या के लिए चरण 2 को दोहराएँ।
C++ द्विपद गुणांक द्वारा पास्कल त्रिभुज को कोड करें
#include <iostream> using namespace std; int factorial(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } int binomialCoefficient(int n, int r) { int result = 1; if (r > n) { return -1; } result = factorial(n) / (factorial(r) * factorial(n - r)); return result; } void printPascalTriangle(int row) { for (int i = 0; i <= row; i++) { for (int j = 0; j <= i; j++) { cout << binomialCoefficient(i, j) << "\t"; } cout << endl; } } int main() { int n; cout << "Enter row number: "; cin >> n; printPascalTriangle(n); }
आउटपुट:
Enter row number: 9 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
Python द्विपद गुणांक द्वारा पास्कल त्रिभुज को कोड करें
def factorial(n): result = 1 for i in range(1,n+1): result*=i return result def binomialCoefficient(n,r): result =1 if r>n: return None result = factorial(n) / (factorial(r) * factorial(n - r)) return int(result) def printPascalTriangle(row): for i in range(row+1): for j in range(i+1): print(binomialCoefficient(i, j), end="\t") print() # print(binomialCoefficient(3, 2)) n = int(input("Enter row number: ")) printPascalTriangle(n)
पास्कल त्रिभुज उदाहरण आउटपुट:
Enter row number: 8 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1
जटिलता विश्लेषण
कार्यान्वयन में तीन लूप का उपयोग किया गया था। एक लूप द्विपद गुणांक की गणना के लिए है, और अन्य दो सभी पंक्तियों के लिए संख्याएँ बनाने के लिए हैं। पंक्तियों की संख्या के संबंध में, हमारे पास तीन लूप हैं जो "n" बार निष्पादित होते हैं। नतीजतन, समग्र समय जटिलता 0(n) होगी3).
स्पेस जटिलता अब स्थिर है क्योंकि हम स्टोरेज में कोई डेटा नहीं रखते हैं। प्रोग्राम तत्व की गणना करता है, और इसे एक पंक्ति में प्रिंट किया जाता है। फिर स्पेस जटिलता घटकर 0(1) हो जाती है।
विधि 3: संशोधित द्विपद गुणांक द्वारा पास्कल त्रिभुज का निर्माण
पिछली तकनीक में, हम पहले ही देख चुके हैं कि पास्कल के त्रिभुज के प्रत्येक तत्व की गणना करने के लिए द्विपद गुणांक का उपयोग कैसे किया जाता है। यह दृष्टिकोण C. (n, r-1) से C(n, r) निर्धारित करेगा। यह चीजों को एक क्रम से सरल कर देगा।
संशोधित द्विपद गुणांक द्वारा पास्कल त्रिभुज बनाने के चरण यहां दिए गए हैं:
चरण 1) पहली पंक्ति को “1” से आरंभ करें
चरण 2) C(n,r) की गणना करें, जहाँ “n” पंक्ति संख्या है और “r” कॉलम या तत्व है। चर C में मान निर्दिष्ट करें।
चरण 3) C(n,k) की गणना के लिए, यह C*(nk)/k होगा। अब, यह मान C को असाइन करें।
चरण 4) चरण 3 को तब तक जारी रखें जब तक कि “k” पंक्ति के अंत तक न पहुँच जाए। प्रत्येक पुनरावृत्ति के बाद, K के मान में एक की वृद्धि करें।
C++ संशोधित द्विपद गुणांक द्वारा पास्कल त्रिभुज के लिए कोड
#include <bits/stdc++.h> using namespace std; void printpascalTriangle(int n) { for (int row = 1; row <= n; row++) { int previous_coef = 1; for (int col = 1; col <= row; col++) { cout << previous_coef << "\t"; previous_coef = previous_coef * (row - col) / col; } cout << endl; } } int main() { int n; cout << "How many rows: "; cin >> n; printpascalTriangle(n); }
आउटपुट:
How many rows: 5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Python संशोधित द्विपद गुणांक द्वारा पास्कल त्रिभुज के लिए कोड
def printpascalTriangle(n): for row in range(1, n+1): previous_coef = 1 for col in range(1, row+1): print(previous_coef, end="\t") previous_coef = int(previous_coef*(row-col)/col) print() n = int(input("How many rows: ")) printpascalTriangle(n)
पास्कल त्रिभुज पैटर्न आउटपुट:
How many rows: 5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
जटिलता विश्लेषण
कार्यान्वयन में दो लूप हैं। प्रत्येक लूप अधिकतम “n” समय तक चलता है, जहाँ “n” का अर्थ है पास्कल त्रिभुज में पंक्तियों की संख्या। इसलिए, समय जटिलता है पर2), समय का वर्ग.
स्पेस जटिलता के संबंध में, हमें स्टोर करने के लिए किसी सरणी की आवश्यकता नहीं थी। हमने पिछले द्विपद गुणांक को रखने के लिए बस एक चर का उपयोग किया। इसलिए, हमें बस एक अतिरिक्त स्थान की आवश्यकता थी। स्पेस जटिलता बन गई ओ (1).
पास्कल त्रिभुज का अनुप्रयोग
पास्कल त्रिभुज के कुछ अनुप्रयोग इस प्रकार हैं:
द्विपद विस्तार: हम पास्कल त्रिभुज से द्विपद विस्तार का गुणांक निर्धारित कर सकते हैं। यहाँ एक उदाहरण दिया गया है:
(x+y)0 | 1 |
(x+y)1 | 1.x + 1.y |
(x+y)2 | 1x2 + 2xy + 1y2 |
(x+y)3 | 1x3 + 3x2और + 3xy2 + 1y3 |
(x+y)4 | 1x4 + 4x3और + 6x2y2 + 4xy3 + 1y4 |
संयोजन की गणना: हमने देखा है कि पास्कल के त्रिभुज के तत्व द्विपद गुणांक के बराबर हैं। उदाहरण के लिए, यदि आपके पास 6 गेंदें हैं और आपको 3 गेंदें चुनने के लिए कहा गया है, तो यह होगा 6C3. या, आप पास्कल त्रिभुज की छठी पंक्ति के तीसरे तत्व में संख्या ज्ञात कर सकते हैं।
पास्कल त्रिभुज के बारे में रोचक तथ्य
पास्कल त्रिभुज के बारे में कुछ रोचक तथ्य यहां दिए गए हैं:
- एक पंक्ति में सभी तत्वों का योग हमेशा 2 की घात होता है।
- पंक्तियों के तत्वों का विकर्णीय योग फिबोनाची अनुक्रम उत्पन्न करता है।
सारांश
- पास्कल त्रिभुज द्विपद विस्तार के लिए गुणांक देता है।
- पास्कल त्रिभुज की प्रत्येक पंक्ति “1” से शुरू और समाप्त होती है। मध्यवर्ती मान पिछली पंक्ति के दो तत्वों का योग होते हैं।
- पास्कल त्रिभुज के सभी तत्वों का विकर्ण योग आपको देगा फिबोनाची अनुक्रम.
- पास्कल त्रिभुज को द्विपद गुणांकों के साथ भी उत्पन्न किया जा सकता है।