Pascalův trojúhelníkový vzorec s příklady

⚡ Chytré shrnutí

Pascalův trojúhelník je trojúhelníkové uspořádání čísel, kde každá hodnota se rovná součtu dvou čísel přímo nad ní, což odhaluje hluboké vzorce v kombinatorice, binomických rozvojích a pravděpodobnosti, které fascinují matematiky po staletí.

  • 🔺 Struktura: Každý řádek začíná a končí jedničkou, přičemž vnitřní hodnoty vznikají sečtením dvou výše uvedených čísel.
  • 📐 Binomický odkaz: Řádek n ve sloupci k se rovná binomickému koeficientu C(n, k), což z trojúhelníku dělá vizuální vyhledávací prvek pro kombinace.
  • 🔢 Skryté vzory: Součty řádků se rovnají mocninám čísla 2 a diagonální součty generují Fibonacciho posloupnost.
  • (Tj. Tři metody: Můžete jej sestavit podle předchozích řádků, výpočtem binomických koeficientů nebo iterativní zkratkou s modifikovanými koeficienty.
  • 🧪 Aplikace: Používá se v algebře, pravděpodobnosti, informatice a kombinatorických důkazech v moderních osnovách.

Co je Pascalův trojúhelník?

Pascalův trojúhelník je trojúhelníkové pole čísel, které se řídí jednoduchým vzorem založeným na řádku nad ním. Zpopularizoval ho francouzský matematik Blaise Pascal v 17. století. Trojúhelník začíná jednou „jedničkou“ nahoře a každý následující řádek také začíná a končí „jedničkou“.

Pascalův trojúhelník

Pascalův trojúhelník kromě svého elegantního tvaru kóduje hluboké matematické vztahy. Je úzce spjat s binomickou větou, kombinatorickým počítáním a pravděpodobností, a proto se objevuje v učebnách algebry, statistiky a informatiky po celém světě.

Historie Pascalova trojúhelníku

Ačkoli byl trojúhelník pojmenován po Blaise Pascalovi, předchází ho o staletí. Čínský matematický text „Devět kapitol o matematickém umění“ obsahuje jeden z nejstarších známých příkladů, který zobrazuje mnoho stejných vzorů, jaké používáme dnes.

Perský matematik Al-Karaji a indický učenec PingAla také zkoumala podobná pole. Pascal formalizoval vlastnosti trojúhelníku ve svém pojednání z roku 1654 „Traité du triangle arithmétique“, které dalo této struktuře její moderní název v západní matematice.

Konstrukce Pascalova trojúhelníku

Sestrojení Pascalova trojúhelníku je jednoduché. Jediné pravidlo, které je třeba si pamatovat, je, že každý řádek začíná a končí jedničkou a každé další číslo se sestavuje z řádku výše.

Pro libovolný řádek r a sloupec c se hodnota rovná součtu čísel ve sloupcích c-1 a c řádku r-1.

Zde,

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

Zde jsou kroky k sestavení Pascalova trojúhelníku:

Krok 1) Začněte vyplněním prvních dvou řádků.

Konstrukce Pascalova trojúhelníku

Krok 2) Druhý prvek třetího řádku je součtem prvního a druhého čísla ve druhém řádku.

Konstrukce Pascalova trojúhelníku

Krok 3) Čtvrtý řádek začíná číslem „1“. Druhé číslo je 3, což je součet čísel 1 a 2 (zvýrazněno modře).

Obrázek níže ukazuje, jak vyplnit čtvrtý řádek:

Konstrukce Pascalova trojúhelníku

Krok 4) Pátý řádek se skládá z pěti čísel. Vzor pro vyplňování řádků již známe z předchozích kroků.

Konstrukce Pascalova trojúhelníku

Pascalův trojúhelníkový vzorec – binomický koeficient

Binomický koeficient udává počet způsobů, jak vybrat podmnožinu k prvků z kolekce n prvků. Obvykle se zapisuje jako „C(n, k)“ nebo „n vybere k“.

Binomický koeficient je definován jako:

Pascalův trojúhelníkový vzorec - binomický koeficient

Symbol „!“ označuje faktoriál čísla.

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

Například,

5 = 5.4.3.2.1

= 120

Takže C(5, 3) neboli „5 vybere 3“ = 5! / 3!(5-3)!

= 120 / 12

= 10

Metoda 1: Sestavení Pascalova trojúhelníku podle předchozí řady

Postup zde odráží, jak jsme trojúhelník kreslili ručně. Předpokládejme, že chceme vygenerovat Pascalův trojúhelník až do sedmi řádků.

Postupujte takto:

Krok 1) Začněte nejvyšší řádek číslem „1“.

Krok 2) Pro řádek „r“ bude prvek „c“ součtem sloupce „c-1“ a sloupce „c“ řádku „r-1“.

Krok 3) První a poslední číslo v každém řádku bude vždy „1“.

Dodržení těchto tří jednoduchých kroků nám umožní systematicky sestrojit celý trojúhelník.

C++ Code Pascalova trojúhelníku podle předchozího řádku

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

Výstup:

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 Code Vzorec Pascalova trojúhelníku podle předchozího řádku

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)

Výstup příkladu Pascalova trojúhelníku:

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

Analýza složitosti

A dvourozměrné pole je použit v této implementaci. Vzhledem k tomu, že N je počet řádků v Pascalově trojúhelníku, vyžaduje to N2 jednotkové prostory. Prostorová složitost je tedy O(N2).

Funkce používá dvě vnořené smyčky, každá běží až „N“krát. Časová složitost je tedy také NA2), neboli druhá mocnina časové složitosti.

Metoda 2: Sestavení Pascalova trojúhelníku výpočtem binomického koeficientu

Čísla Pascalova trojúhelníku můžeme odvodit přímo pomocí binomických koeficientů. Níže uvedený diagram ilustruje vztah:

Sestavení Pascalova trojúhelníku výpočtem binomického koeficientu

Zde jsou kroky k sestavení Pascalova trojúhelníku výpočtem binomického koeficientu:

Krok 1) Horní řádek je C(0, 0). Podle výše uvedeného vzorce je C(0, 0) = 1, protože 0! = 1.

Krok 2) Pro řádek „i“ bude celkem „i“ prvků. Každá položka se vypočítá jako C(n, r), kde n je i-1.

Krok 3) Krok 2 opakujte pro tolik řádků Pascalova trojúhelníku, kolik chcete vygenerovat.

C++ Code Pascalův trojúhelník pomocí binomického koeficientu

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

Výstup:

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 Code Pascalův trojúhelník pomocí binomického koeficientu

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)

Výstup příkladu Pascalova trojúhelníku:

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

Analýza složitosti

V této implementaci se používají tři smyčky: jedna pro výpočet binomického koeficientu a další dvě pro iteraci každým řádkem a sloupcem. Vzhledem k počtu řádků se všechny tři smyčky opakují až „n“krát. Celková časová složitost je tedy O(n3).

Prostorová složitost je konstantní, protože neukládáme žádné mezivýsledky. Program počítá každý prvek za chodu a vypisuje ho v rámci řádku, takže prostorová složitost se snižuje na O (1).

Metoda 3: Sestavení Pascalova trojúhelníku pomocí modifikovaného binomického koeficientu

V předchozí technice jsme k výpočtu každého prvku použili vzorec pro binomické koeficienty. Modifikovaný přístup odvozuje C(n, r) přímo z C(n, r-1), čímž se práce snižuje o řád.

Zde jsou kroky pro sestavení Pascalova trojúhelníku pomocí modifikovaného binomického koeficientu:

Krok 1) První řádek začněte číslicí „1“.

Krok 2) Vypočítejte C(n, r), kde „n“ je číslo řádku a „r“ je index sloupce. Přiřaďte tuto hodnotu proměnné C.

Krok 3) Pro výpočet dalšího koeficientu použijte C * (n – k) / k. Tuto novou hodnotu přiřaďte zpět k C.

Krok 4) Pokračujte v kroku 3, dokud „k“ nedosáhne konce řádku. Po každé iteraci zvyšte k o jedna.

C++ Code pro Pascalův trojúhelník pomocí modifikovaného binomického koeficientu

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

Výstup:

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

Python Code pro Pascalův trojúhelník pomocí modifikovaného binomického koeficientu

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)

Výstup vzorů Pascalova trojúhelníku:

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

Analýza složitosti

Implementace používá dvě smyčky, každá z nich běží maximálně „n“krát, kde „n“ je počet řádků v trojúhelníku. Časová složitost je tedy Na2), čas na druhou.

Co se týče prostorové složitosti, nepotřebujeme žádné pole pro ukládání. Používáme pouze jednu proměnnou pro zachování předchozího binomického koeficientu, takže potřebujeme jen jeden další prostor. Prostorová složitost je tedy O (1).

Aplikace Pascalova trojúhelníku

Zde je několik praktických aplikací Pascalova trojúhelníku:

Binomické rozšíření: Koeficienty libovolného binomického rozvoje lze odečíst přímo z Pascalova trojúhelníku. Zde je příklad:

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

Výpočet kombinací: Prvky Pascalova trojúhelníku přímo odpovídají binomickým koeficientům. Například pokud máte 6 míčků a chcete si vybrat 3, odpověď je 6C3Tuto hodnotu najdete ve 3. prvku 6. řádku Pascalova trojúhelníku.

Pravděpodobnost: Pascalův trojúhelník se široce používá k výpočtu pravděpodobností v hodech mincí, úlohách s kostkami a dalších kombinatorických událostech, kde každý výsledek odpovídá binomickému rozdělení.

Zajímavá fakta o Pascalově trojúhelníku

Zde jsou některá zajímavá fakta o Pascalově trojúhelníku:

  • Součet všech prvků v libovolném řádku je vždy mocninou čísla 2.

Fakta o Pascalově trojúhelníku

  • Diagonální součty řádků generují Fibonacciho posloupnost.

Fakta o Pascalově trojúhelníku

  • Každý řádek odpovídá koeficientům v rozvoji (a+b)n.
  • Pokud vystínujete pouze lichá čísla, výsledný obrazec vytvoří fraktál Sierpinského trojúhelníku.

Nejčastější dotazy

Ačkoli byl trojúhelník pojmenován po Blaise Pascalovi, který jej formalizoval v roce 1654, byl v Číně, Indii a Persii znám o staletí dříve. Matematici jako Jia Xian, Yang Hui, Pingala a Al-Karaji studoval podobná pole dlouho před Pascalem.

Každý záznam v Pascalově trojúhelníku se rovná binomickému koeficientu C(n, k). Čísla v řádku n udávají koeficienty funkce (a + b) umocněné na n, což z trojúhelníku dělá rychlou vyhledávací tabulku pro binomické rozvoje.

Součet všech čísel v řádku n Pascalova trojúhelníku je 2 umocněné na n. Například řádek 4 obsahuje 1, 4, 6, 4, 1, což se v součtu rovná 16, přesně 2 na 4. mocninu.

Pokud sečtete čísla podél mělkých diagonál Pascalova trojúhelníku, výsledné součty tvoří Fibonacciho posloupnost: 1, 1, 2, 3, 5, 8, 13 atd. Toto je jeden z nejelegantnějších skrytých vzorů trojúhelníku.

Pascalův trojúhelník modeluje pravděpodobnosti událostí se dvěma stejně pravděpodobnými výsledky, jako jsou hody mincí. Řádek n ukazuje, kolika způsoby můžete získat k panáků v n hodech, což přímo dodává binomické rozdělení pravděpodobnosti.

Systémy umělé inteligence používají binomické koeficienty odvozené z Pascalova trojúhelníku pro výběr rysů, vzorkování a kombinatorickou optimalizaci. Agenti s posilovacím učením a řešiči symbolické matematiky se na trojúhelník také odvolávají při uvažování o polynomiálních rozvojích a problémech diskrétního výběru.

Ano. Matematickí lektoři s umělou inteligencí generují vizualizace řádek po řádku, adaptivní praktické úlohy a okamžitou zpětnou vazbu k cvičením s binomickými koeficienty. Pomáhají studentům propojit trojúhelník s kombinacemi, pravděpodobností a binomickou větou vlastním tempem.

Shrňte tento příspěvek takto: