Pascal-háromszög képlete példákkal

⚡ Okos összefoglaló

A Pascal-háromszög a számok háromszög alakú elrendezése, ahol minden érték egyenlő a közvetlenül felette lévő két szám összegével, feltárva a kombinatorika, a binomiális kiterjesztés és a valószínűségszámítás mély mintázatait, amelyek évszázadok óta lenyűgözik a matematikusokat.

  • 🔺 Szerkezet: Minden sor 1-gyel kezdődik és végződik, a belső értékek pedig a fenti két szám összeadásával képződnek.
  • 📐 Binomiális link: Az n sor és a k oszlop egyenlő a C(n, k) binomiális együtthatóval, így a háromszög vizuálisan kereshetővé teszi a kombinációkat.
  • 🔢 Rejtett minták: A sorok összegei egyenlőek a 2 hatványaival, az átlók összegei pedig a Fibonacci-sorozatot generálják.
  • Három módszer: Felépítheted korábbi sorok alapján, binomiális együtthatók kiszámításával, vagy egy iteratív módosított együtthatós rövidítéssel.
  • 🧪 Alkalmazások: Algebrán, valószínűségszámításban, számítástechnikában és kombinatorikus bizonyításokban használják a modern tantervekben.

Mi az a Pascal-háromszög?

A Pascal-háromszög egy háromszög alakú számelrendezés, amely a felette lévő sor alapján egy egyszerű mintát követ. A háromszöget a francia matematikus, Blaise Pascal tette népszerűvé a 17. században. A háromszög egyetlen „1”-gyel kezdődik felül, és minden további sor szintén „1”-gyel kezdődik és végződik.

Pascal-háromszög

Elegáns alakján túl a Pascal-háromszög mély matematikai összefüggéseket kódol. Szorosan kapcsolódik a binomiális tételhez, a kombinatorikus számláláshoz és a valószínűségszámításhoz, ezért jelenik meg világszerte az algebra, a statisztika és a számítástechnika tantermeiben.

Pascal háromszög története

Bár a háromszög Blaise Pascalról kapta a nevét, évszázadokkal megelőzi őt. A „Kilenc fejezet a matematika művészetéről” című kínai matematikai szöveg tartalmazza az egyik legkorábbi ismert példát, amely számos olyan mintát mutat, amelyeket ma is használunk.

Al-Karadzsi perzsa matematikus és indiai tudós Pingala is hasonló tömböket vizsgált. Pascal formalizálta a háromszög tulajdonságait 1654-es „Traité du triangle arithmétique” című értekezésében, amely a struktúrának a nyugati matematikában a modern nevét adta.

Pascal-háromszög felépítése

A Pascal-háromszög felépítése egyszerű. Az egyetlen szabály, amire emlékezni kell, hogy minden sor 1-gyel kezdődik és végződik, és minden más szám a felette lévő sorból épül fel.

Bármely r sor és c oszlop esetén az érték megegyezik az r-1 sor c-1 és c oszlopaiban lévő számok összegével.

Itt,

  • r = 3, 4, 5, …
  • n és c = 2, 3, 4, …, r⁻¹.

A Pascal-háromszög felépítésének lépései a következők:

Step 1) Kezdjük az első két sor kitöltésével.

Pascal-háromszög felépítése

Step 2) A harmadik sor második eleme a második sorban szereplő első és második szám összege.

Pascal-háromszög felépítése

Step 3) A negyedik sor „1”-gyel kezdődik. A második szám a 3, ami az 1 és a 2 összege (kékkel kiemelve).

Az alábbi képen látható, hogyan kell kitölteni a negyedik sort:

Pascal-háromszög felépítése

Step 4) Az ötödik sor öt számból áll. A sorok feltöltésének mintáját már ismerjük a korábbi lépésekből.

Pascal-háromszög felépítése

Pascal-háromszög képlet – Binomiális együttható

A binomiális együttható azt számolja, hogy n elemből álló halmazból hányféleképpen lehet k elemből álló részhalmazt kiválasztani. Általában „C(n, k)” vagy „n választ k” formában írják.

A binomiális együtthatót a következőképpen definiáljuk:

Pascal háromszög képlete – Binomiális együttható

A „!” szimbólum egy szám faktoriálisát jelöli.

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

Például,

5! = 5.4.3.2.1

= 120

Tehát C(5, 3), vagyis „5-ből 3-at választunk” = 5! / 3!(5-3)!

= 120/12

= 10

1. módszer: Pascal-háromszög felépítése az előző sor alapján

Az eljárás itt a háromszög manuális rajzolásához hasonló. Tegyük fel, hogy legfeljebb hét soros Pascal-háromszöget szeretnénk létrehozni.

A lépések a következők:

Step 1) A legfelső sort az „1”-essel kezdje.

Step 2) Az „r” sor „c” eleme a „c-1” oszlop és az „r-1” sor „c” oszlopának összege lesz.

Step 3) Minden sorban az első és az utolsó szám mindig „1” lesz.

Ezt a három egyszerű lépést követve szisztematikusan megépíthetjük a teljes háromszöget.

C++ Code Pascal-háromszög előző sorral

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

output:

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 a Pascal-háromszög képletének előző sora

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)

Pascal-háromszög példa kimenet:

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

Komplexitás elemzése

A kétdimenziós tömb ebben a megvalósításban használjuk. Tekintettel arra, hogy N a Pascal-háromszög sorainak száma, ehhez N szükséges.2 egységterek. Ezért a térbonyolultság O(N2).

A függvény két egymásba ágyazott ciklust használ, amelyek mindegyike „N” alkalommal fut. Tehát az időbonyolultság is TOVÁBB2), vagy négyzetes időbonyolultság.

2. módszer: Pascal-háromszög felépítése binomiális együttható kiszámításával

A Pascal-háromszög számait közvetlenül levezethetjük binomiális együtthatók segítségével. Az alábbi ábra szemlélteti az összefüggést:

Pascal-háromszög felépítése binomiális együttható kiszámításával

A Pascal-háromszög felépítésének lépései a binomiális együttható kiszámításával:

Step 1) A legfelső sor a C(0, 0). A fenti képlet alapján C(0, 0) = 1, mert 0! = 1.

Step 2) Az „i” sorban összesen „i” elem lesz. Minden elem C(n, r) képlettel számítható ki, ahol n az i-1.

Step 3) Ismételd meg a 2. lépést annyi Pascal-háromszög sorral, ahányat szeretnél generálni.

C++ Code Pascal-háromszög binomiális együtthatóval

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

output:

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-háromszög binomiális együtthatóval

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)

Pascal-háromszög példa kimenet:

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

Komplexitás elemzése

Ebben a megvalósításban három ciklust használunk: egyet a binomiális együttható kiszámításához, kettőt pedig minden sor és oszlop végigfutásához. A sorok számát tekintve mindhárom ciklus „n”-szer fut le. Következésképpen az összesített időbonyolultság O(n3).

A térbeli komplexitás állandó, mivel nem tárolunk semmilyen köztes eredményt. A program menet közben kiszámítja az egyes elemeket, és egy soron belül kiírja azokat, így a térbeli komplexitás erre csökken: O (1).

3. módszer: Pascal-háromszög felépítése módosított binomiális együtthatóval

Az előző technikában a binomiális együttható képletét használtuk az egyes elemek kiszámításához. A módosított megközelítés a C(n, r)-t közvetlenül a C(n, r-1)-ből származtatja, így a munka egy nagyságrenddel csökken.

A módosított binomiális együtthatóval a Pascal-háromszög felépítésének lépései a következők:

Step 1) Az első sort „1”-gyel kezdd.

Step 2) Számítsd ki a C(n, r) értékét, ahol „n” a sorszám, „r” pedig az oszlopindex. Rendeld ezt az értéket egy C változóhoz.

Step 3) A következő együttható kiszámításához használd a C * (n – k) / k képletet. Rendeld vissza ezt az új értéket C-hez.

Step 4) Folytasd a 3. lépést, amíg a „k” el nem éri a sor végét. Minden iteráció után növeld k értékét eggyel.

C++ Code Pascal-háromszögre módosított binomiális együtthatóval

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

output:

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

Python Code Pascal-háromszögre módosított binomiális együtthatóval

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)

Pascal-háromszög minták kimenete:

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

Komplexitás elemzése

A megvalósítás két ciklust használ, amelyek mindegyike maximum „n” alkalommal fut, ahol „n” a háromszögben lévő sorok száma. Tehát az időbonyolultság: Tovább2), négyzetes idő.

A térbeli bonyolultságot tekintve nincs szükségünk tömbre a tároláshoz. Csak egy változót használunk az előző binomiális együttható megtartásához, tehát csak egy plusz helyre van szükségünk. A térbeli bonyolultság tehát: O (1).

Pascal-háromszög alkalmazása

Íme a Pascal-háromszög néhány gyakorlati alkalmazása:

Binomiális bővítések: Bármely binomiális kiterjesztés együtthatói közvetlenül leolvashatók Pascal-háromszögből. Íme egy példa:

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

Kombinációk számítása: A Pascal-háromszög elemei közvetlenül megfeleltethetők a binomiális együtthatóknak. Például, ha 6 golyód van és 3-at szeretnél választani, a válasz: 6C3Ezt az értéket a Pascal-háromszög 6. sorának 3. elemében találod.

Valószínűség: A Pascal-háromszöget széles körben használják valószínűségek kiszámítására érmefeldobásokban, kockafeladatokban és más kombinatorikus eseményekben, ahol minden kimenetel egy binomiális eloszlásnak felel meg.

Érdekes tények Pascal háromszögéről

Íme néhány érdekes tény a Pascal-háromszögről:

  • Bármely sorban az összes elem összege mindig a 2 hatványa.

Tények a Pascal-háromszögről

  • A sorok átlóösszegei generálják a Fibonacci-sorozatot.

Tények a Pascal-háromszögről

  • Minden sor az (a+b) kiterjesztésben szereplő együtthatóknak felel megn.
  • Ha csak a páratlan számokat satírozzuk be, a kapott ábra a Sierpinski-háromszög fraktálját alkotja.

GYIK

Bár Blaise Pascalról nevezték el, aki 1654-ben formalizálta, a háromszög már évszázadokkal korábban ismert volt Kínában, Indiában és Perzsiában. Olyan matematikusok, mint Jia Xian, Yang Hui, Pingala, és Al-Karaji már jóval Pascal előtt tanulmányozott hasonló tömböket.

A Pascal-háromszög minden eleme egy C(n, k) binomiális együtthatónak felel meg. Az n. sorban lévő számok az (a + b) együtthatóit adják meg n-edik hatványon, így a háromszög gyors keresőtáblát biztosít a binomiális kiterjesztésekhez.

A Pascal-háromszög n-edik sorában lévő számok összege a 2 n-edik hatványa. Például a 4. sor az 1, 4, 6, 4, 1 számokat tartalmazza, ami 16-ot, pontosan 2 a 4. hatványon.

Ha összeadjuk a Pascal-háromszög sekély átlói mentén található számokat, az így kapott összegek a Fibonacci-sorozatot alkotják: 1, 1, 2, 3, 5, 8, 13 és így tovább. Ez a háromszög egyik legelegánsabb rejtett mintázata.

A Pascal-háromszög olyan események valószínűségeit modellezi, amelyeknek két egyenlő valószínűségű kimenetele van, például érmefeldobások. Az n. sor azt mutatja, hogy hány módon kaphatunk k fejet n feldobás során, ami közvetlenül táplálja a binomiális valószínűségeloszlást.

A mesterséges intelligencia rendszerek a Pascal-háromszögből vett binomiális együtthatókat használják a jellemzők kiválasztásához, a mintavételezéshez és a kombinatorikus optimalizáláshoz. A megerősítéses tanuláson alapuló ágensek és a szimbolikus matematikai megoldók szintén a háromszögre hivatkoznak, amikor polinomkiterjesztésekről és diszkrét választási problémákról érvelnek.

Igen. A mesterséges intelligenciával működő matematika oktatók soronkénti vizualizációkat, adaptív gyakorlófeladatokat és azonnali visszajelzést generálnak a binomiális együtthatós gyakorlatokról. Segítenek a tanulóknak a háromszöget a kombinációkhoz, a valószínűségszámításhoz és a binomiális tételhez kapcsolni a saját tempójukban.

Foglald össze ezt a bejegyzést a következőképpen: