مثلث باسكال – الصيغة والأنماط والأمثلة

ما هو مثلث باسكال؟

مثلث باسكال عبارة عن مجموعة مثلثة من numbers متبوعًا بنمط معين واتصال بالصف الذي يسبقه. لقد اخترعها بليز باسكال. يبدأ هذا المثلث بعنصر واحد في الصف الأول. وبعد ذلك يبدأ كل صف وينتهي بالرقم "1".

مثلث باسكال

تاريخ مثلث باسكال

يحتوي الكتاب الصيني "الفصول التسعة في فن الرياضيات" على أحد الأمثلة الأولى لمثلث باسكال. بالإضافة إلى ذلك، فهو يحتوي على بعض الأنماط والصفات نفسها الموجودة في المثلثات اليوم.

كان باسكال أحد الأشخاص العديدين في أوروبا الذين درسوا المثلث. وقد قام علماء رياضيات آخرون بفحص مصفوفات مثلثية مماثلة من numbers قبله.

بناء مثلث باسكال

بناء مثلث باسكال بسيط. الشيء الوحيد الذي عليك أن تتذكره هو أن الصف يبدأ وينتهي بالرقم 1. القاعدة الخاصة ببقية الصف numbers هو كما يلي:

بالنسبة لأي صف r وعمود c، سيكون الرقم هو مجموع الأعمدة c-1 وc من الصف r-1.

هنا،

  • ص = 3,4,5….
  • ن وج = 2,3,4،1،XNUMX،…ص-XNUMX.

فيما يلي خطوات بناء مثلث باسكال:

الخطوة 1) لنبدأ بملء صفين.

بناء مثلث باسكال

الخطوة 2) العنصر الثاني للسطر الثالث هو مجموع الأول والثاني numbers في الصف الثاني.

بناء مثلث باسكال

الخطوة 3) سيبدأ الصف الرابع بالرقم "1". الرقم الثاني هو 3، وهو مجموع 1 و 2 (مظلل باللون الأزرق).

الصورة أدناه توضح كيفية ملء الصف الرابع:

بناء مثلث باسكال

الخطوة 4) سيتكون الصف الخامس من خمسة numbers. نحن نعرف بالفعل نمط ملء الصفوف من الخطوات السابقة.

بناء مثلث باسكال

صيغة مثلث باسكال – معامل ذو الحدين

المعامل ذو الحدين هو رقم يعبر عن طرق مختلفة لتحديد مجموعة فرعية من عناصر k من مجموعة عناصر n. في كثير من الأحيان، يتم كتابته كـ "C(n,k)" أو "n Choose k".

يتم تعريف معامل ذي الحدين كما

صيغة مثلث باسكال - معامل ذو الحدين

ال "!" يدل على "العامل".

ن! = ن.(ن-1). (ن -2)…3.2.1

على سبيل المثال،

5! = 5.4.3.2.1

= 120

لذا، لنفترض أن C(5,3) أو 5 اختر 3 = 5! / ٣!(٥-٣)!

= 120 / (12)

= 10

الطريقة الأولى: بناء مثلث باسكال بالصف السابق

الخطوات في هذا الإجراء هي نفس الخطوات الموجودة في مثلث باسكال. لنفترض أننا نريد إنشاء مثلث باسكال حتى سبعة صفوف.

الخطوات لتحقيق ذلك هي كما يلي:

الخطوة 1) ابدأ الصف العلوي بالرقم "1".

الخطوة 2) بالنسبة للصف "r"، فإن العنصر "c" سيكون منتج "c-1" و"c" رقم الصف "r-1".

الخطوة 3) الأول والأخير numbers على التوالي سيكون دائمًا "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

كود بايثون لصيغة مثلث باسكال بالصف السابق

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

معplexتحليل اتي

A مصفوفة ثنائية الأبعاد تم استخدامه في التنفيذ. مع العلم أن N هو عدد الصفوف في مثلث باسكال. وهذا سوف يتطلب N2 مساحات الوحدة. لذلك سيكون O هو الفضاء complexإيتي (ن2).

لدينا حلقتان في الدالة، وكل حلقة تعمل لعدد "N" من المرات. لذلك، الوقت كومplexايتي ايضا على2) أو تربيع الوقت كومplexإيتي.

الطريقة الثانية: بناء مثلث باسكال عن طريق حساب معامل ذو الحدين

يمكننا ببساطة استخلاص numbers مثلث باسكال باستخدام معامل ذات الحدين. وهنا الرسم البياني:

بناء مثلث باسكال عن طريق حساب معامل ذات الحدين

فيما يلي خطوات بناء مثلث باسكال عن طريق حساب ذات الحدين:

الخطوة 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

مثلث بايثون كود باسكال بمعامل ذي الحدين

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

معplexتحليل اتي

تم استخدام ثلاث حلقات في التنفيذ. إحدى الحلقات مخصصة لحساب معامل ذات الحدين، والحلقتان الأخريان مخصصتان للإنشاء numbers لجميع الصفوف. فيما يتعلق بعدد الصفوف، لدينا ثلاث حلقات تنفذ "n" مرات. وبالتالي فإن الوقت الإجمالي كومplexستكون 0(ن3).

الفضاء كومplexأصبحت الميزة الآن ثابتة لأننا لا نحتفظ بأي بيانات في المخزن. يقوم البرنامج بحساب العنصر، وطباعته على التوالي. الفضاء كومplexثم تنخفض القيمة إلى 0(1).

الطريقة الثالثة: بناء مثلث باسكال بمعامل ذي الحدين المعدل

في التقنية السابقة، رأينا بالفعل كيفية استخدام معامل ذي الحدين لحساب كل عنصر من عناصر مثلث باسكال. سيحدد هذا الأسلوب C(n,r) من C. (n, r-1). وسوف تبسيط الأمور بأمر واحد.

فيما يلي خطوات بناء مثلث باسكال بمعامل ذي الحدين المعدل:

الخطوة 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

كود بايثون لمثلث باسكال بواسطة معامل ذو الحدين المعدل

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

معplexتحليل اتي

التنفيذ له حلقتان. تعمل كل حلقة بحد أقصى للزمن "n"، حيث "n" تعني عدد الصفوف في مثلث باسكال. لذلك، الوقت كومplexهذا هو على2)، الزمن التربيعي.

بخصوص الفضاء كومplexity، لم نكن بحاجة إلى أي مصفوفة لتخزينها. لقد استخدمنا متغيرًا واحدًا فقط للحفاظ على معامل ذات الحدين السابق. لذلك، نحن بحاجة فقط إلى مساحة إضافية واحدة. الفضاء كومplexأصبحت يا (1).

تطبيق مثلث باسكال

فيما يلي بعض تطبيقات مثلث باسكال:

التوسعات ذات الحدين: يمكننا تحديد معامل التوسعات ذات الحدين من مثلث باسكال. هنا مثال:

(س + ص)0 1
(س + ص)1 1.x + 1.y
(س + ص)2 1x2 + 2س ص + 1y2
(س + ص)3 1x3 + 3x2و + 3xy2 + 1y3
(س + ص)4 1x4 + 4x3و + 6x2y2 + 4xy3 + 1y4

حساب المجموعات: لقد رأينا أن عناصر مثلث باسكال تعادل معاملات ذات الحدين. على سبيل المثال، إذا كان لديك 6 كرات وطُلب منك اختيار 3 كرات، فسيتم ذلك 6C3. أو يمكنك العثور على الرقم في العنصر الثالث من الصف السادس من مثلث باسكال.

حقائق مثيرة للاهتمام حول مثلث باسكال

فيما يلي بعض الحقائق التي قد تجدها مثيرة للاهتمام حول مثلث باسكال:

  • مجموع كل العناصر المتتالية هو دائمًا قوة 2.

حقائق عن مثلث باسكال

  • مجموع عناصر الصفوف قطريًا يولد تسلسل فيبوناتشي.

حقائق عن مثلث باسكال

نبذة عامة

  • مثلث باسكال يعطي معاملات التوسعات ذات الحدين.
  • كل صف من مثلثات باسكال يبدأ وينتهي بالرقم "1". القيم المتوسطة هي مجموع عنصرين من الصف السابق.
  • الإضافة القطرية لجميع العناصر في مثلث باسكال ستمنحك النتيجة متتالية فيبوناتشي.
  • يمكن أيضًا إنشاء مثلث باسكال باستخدام معاملات ذات الحدين.