Trójkąt Pascala – formuła, wzory i przykłady

Co to jest Trójkąt Pascala?

Trójkąt Pascala to trójkątna tablica liczb, po której następuje określony wzór i połączenie z poprzednim wierszem. Został wynaleziony przez Blaise’a Pascala. Ten trójkąt zaczyna się od jednego elementu w pierwszym wierszu. Następnie każdy wiersz zaczyna się i kończy na „1”.

Trójkąt Pascala

Historia trójkąta Pascala

Chińska książka „Dziewięć rozdziałów o sztuce matematycznej” zawiera jeden z pierwszych przykładów Trójkąta Pascala. Ponadto zawiera niektóre z tych samych wzorów i cech, które można znaleźć w dzisiejszych trójkątach.

Pascal był jedną z kilku osób w Europie, które badały trójkąt. Inni matematycy badali podobne trójkątne układy liczb przed nim.

Konstrukcja Trójkąta Pascala

Konstrukcja trójkąta Pascala jest prosta. Jedyne, o czym musisz pamiętać, to to, że wiersz zaczyna się i kończy na 1. Reguła dla pozostałych liczb jest następująca:

Dla dowolnego wiersza r i kolumny c liczba będzie sumą kolumn c-1 i c z wiersza r-1.

Tutaj,

  • r = 3,4,5….
  • n i c = 2,3,4,…r-1.

Oto kroki, jak zbudować Trójkąt Pascala:

Krok 1) Zacznijmy od wypełnienia dwóch wierszy.

Konstrukcja Trójkąta Pascala

Krok 2) Drugim elementem trzeciego wiersza jest suma pierwszej i drugiej liczby w drugim wierszu.

Konstrukcja Trójkąta Pascala

Krok 3) Czwarty rząd zacznie się od „1.”. Druga liczba to 3, która jest sumą 1 i 2 (podświetlona na niebiesko).

Poniższy obrazek pokazuje, jak wypełnić czwarty wiersz:

Konstrukcja Trójkąta Pascala

Krok 4) Piąty wiersz będzie składał się z pięciu liczb. Znamy już wzór wypełniania wierszy z poprzednich kroków.

Konstrukcja Trójkąta Pascala

Wzór na trójkąt Pascala – współczynnik dwumianu

Współczynnik dwumianowy to liczba wyrażająca różne metody wyboru podzbioru k elementów ze zbioru n elementów. Często zapisuje się go jako „C(n,k)” lub „n wybierz k”.

Współczynnik dwumianu definiuje się jako

Wzór na trójkąt Pascala – współczynnik dwumianu

„!” oznacza „silnię”.

N! = n. (n-1). (n-2)…3.2.1

Na przykład,

5! = 5.4.3.2.1 XNUMX XNUMX

= 120

Powiedzmy, że C(5,3) lub 5 wybierz 3 = 5! / 3!(5-3)!

= 120/(12)

= 10

Metoda 1: Budowanie trójkąta Pascala na podstawie poprzedniego wiersza

Kroki tej procedury są takie same, jak w trójkącie Pascala. Powiedzmy, że chcemy utworzyć trójkąt Pascala składający się z maksymalnie siedmiu wierszy.

Kroki, aby to osiągnąć, są następujące:

Krok 1) Rozpocznij najwyższy rząd od „1”.

Krok 2) Dla wiersza „r” pozycja „c” będzie iloczynem „c-1”, a „c” numerem wiersza „r-1”.

Krok 3) Pierwsza i ostatnia liczba w rzędzie zawsze będzie wynosić „1”.

Musimy przestrzegać tych trzech prostych kroków, aby utworzyć trójkąt Pascala.

C++ Kod trójkąta Pascala według poprzedniego wiersza

#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);
}

Wyjście:

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 Kod wzoru trójkąta Pascala według poprzedniego wiersza

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)

Przykładowy wynik trójkąta Pascala:

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

Analiza złożoności

A tablica dwuwymiarowa został wykorzystany w realizacji. Biorąc pod uwagę, że N jest liczbą wierszy w trójkącie Pascala. Będzie to wymagało N2 przestrzenie jednostkowe. Dlatego O będzie złożonością przestrzenną (N2).

Mamy dwie pętle w funkcji, a każda pętla działa przez „N” razy. Zatem złożoność czasowa jest również NA2) lub kwadratu złożoności czasowej.

Metoda 2: Budowanie trójkąta Pascala poprzez obliczenie współczynnika dwumianu

Możemy po prostu wyprowadzić liczby trójkąta Pascala, używając współczynnika dwumianowego. Oto diagram:

Budowanie trójkąta Pascala poprzez obliczenie współczynnika dwumianu

Oto kroki, jak zbudować Trójkąt Pascala poprzez obliczenie dwumianu:

Krok 1) Najwyższym wierszem będzie C(0,0). Korzystając z powyższego wzoru na współczynnik dwumianu, C(0,0) = 1. Ponieważ 0! = 1.

Krok 2) Dla wiersza „i” będą łącznie elementy „i”. Każdy element zostanie obliczony C(n,r), gdzie n będzie i-1.

Krok 3) Powtórz krok 2 dla liczby wierszy, które chcesz utworzyć w trójkącie Pascala.

C++ Zakoduj trójkąt Pascala za pomocą współczynnika dwumianu

#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);
}

Wyjście:

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 Zakoduj trójkąt Pascala za pomocą współczynnika dwumianu

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)

Przykładowy wynik trójkąta Pascala:

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

Analiza złożoności

W implementacji zastosowano trzy pętle. Jedna pętla służy do obliczania współczynnika dwumianowego, a pozostałe dwie do tworzenia liczb dla wszystkich wierszy. Jeśli chodzi o liczbę wierszy, mamy trzy pętle, które wykonują się „n” razy. W konsekwencji całkowita złożoność czasowa wyniesie 0(n3).

Złożoność przestrzenna jest teraz stała, ponieważ nie przechowujemy żadnych danych w pamięci masowej. Program oblicza element i jest on drukowany w wierszu. Złożoność przestrzenna zmniejsza się następnie do 0(1).

Metoda 3: Budowanie trójkąta Pascala za pomocą zmodyfikowanego współczynnika dwumianu

W poprzedniej technice widzieliśmy już, jak użyć współczynnika dwumianu do obliczenia każdego elementu trójkąta Pascala. Podejście to określi C(n,r) z C. (n, r-1). Uprości to sprawę o jedno zamówienie.

Oto kroki prowadzące do zbudowania Trójkąta Pascala za pomocą zmodyfikowanego współczynnika dwumianu:

Krok 1) Zainicjuj pierwszy wiersz za pomocą „1”

Krok 2) Oblicz C(n,r), gdzie „n” to numer wiersza, a „r” to kolumna lub element. Przypisz wartość do zmiennej C.

Krok 3) Do obliczenia C(n,k) będzie to C*(nk)/k. Teraz przypisz tę wartość do C.

Krok 4) Kontynuuj krok 3, aż „k” dotrze do końca rzędu. Po każdej iteracji zwiększ wartość K o jeden.

C++ Kod trójkąta Pascala za pomocą zmodyfikowanego współczynnika dwumianu

#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);
}

Wyjście:

How many rows: 5
1
1       1
1       2       1
1       3       3       1
1       4       6       4       1

Python kod Trójkąta Pascala za pomocą zmodyfikowanego współczynnika dwumianu

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)

Dane wyjściowe wzorów trójkątów Pascala:

How many rows: 5
1
1       1
1       2       1
1       3       3       1
1       4       6       4       1

Analiza złożoności

Implementacja ma dwie pętle. Każda pętla działa maksymalnie „n” czasu, gdzie „n” oznacza liczbę wierszy w trójkącie Pascala. Zatem złożoność czasowa wynosi Na2), czas do kwadratu.

Jeśli chodzi o złożoność przestrzenną, nie potrzebowaliśmy żadnej tablicy do przechowywania. Użyliśmy tylko jednej zmiennej, aby zachować poprzedni współczynnik dwumianowy. Potrzebowaliśmy więc tylko jednej dodatkowej przestrzeni. Złożoność przestrzenna stała się O (1).

Zastosowanie trójkąta Pascala

Oto kilka zastosowań Trójkąta Pascala:

Rozszerzenia dwumianowe: Współczynnik rozwinięć dwumianowych możemy wyznaczyć z trójkąta Pascala. Oto przykład:

(x + y)0 1
(x + y)1 1.x + 1.y
(x + y)2 1x2 + 2xy + 1y2
(x + y)3 1x3 + 3x2i + 3xy2 + 1y3
(x + y)4 1x4 + 4x3i + 6x2y2 + 4xy3 + 1y4

Obliczanie kombinacji: Widzieliśmy, że elementy trójkąta Pascala są równoważne współczynnikom dwumianowym. Na przykład, jeśli masz 6 piłek i zostałeś poproszony o wybranie 3 piłek, tak się stanie 6C3. Możesz też znaleźć liczbę w trzecim elemencie szóstego rzędu trójkąta Pascala.

Interesujące fakty na temat trójkąta Pascala

Oto kilka interesujących faktów na temat trójkąta Pascala:

  • Suma wszystkich elementów w rzędzie jest zawsze potęgą 2.

Fakty o Trójkącie Pascala

  • Suma ukośna elementów wierszy generuje ciąg Fibonacciego.

Fakty o Trójkącie Pascala

Podsumowanie

  • Trójkąt Pascala podaje współczynniki rozwinięć dwumianowych.
  • Każdy rząd trójkąta Pascala zaczyna się i kończy na „1”. Wartości pośrednie są sumą dwóch elementów poprzedniego wiersza.
  • Dodanie ukośne wszystkich elementów trójkąta Pascala da ci ciąg Fibonacciego.
  • Trójkąt Pascala można również wygenerować za pomocą współczynników dwumianowych.