Trójkąt Pascala
Z Wikipedii
Trójkąt Pascala jest to trójkątna tablica liczb:
0 1 1 1 1 2 1 2 1 3 1 3 3 1 4 1 4 6 4 1 5 1 5 10 10 5 1 6 1 6 15 20 15 6 1 7 1 7 21 35 35 21 7 1 8 1 8 28 56 70 56 28 8 1 9 1 9 36 84 126 126 84 36 9 1 . . . . . . . . . . . . . . . . . . .
Na bokach trójkąta są 1, a każda liczba nowego wiersza powstaje jako suma dwóch bezpośrednio znajdujących się nad nią. Liczby stojące w n-tym wierszu to kolejne współczynniki dwumianu Newtona - rozwinięcia . Na przykład:
- w trzecim wierszu trójkąta mamy 1, 3, 3, 1.
Inaczej: licząc miejsca w wierszu od zera, liczba stojąca na miejscu k w wierszu n jest równa .
W wierszu 5 na miejscu 3 stoi 10 co jest właśnie równe .
Uważa się, że trójkąt ten został odkryty na przełomie XI i XII w. przez Chińczyków i niezależnie przez Omara Chajjama XI. W XVII w. matematyk francuski B. Pascal połączył studia nad prawdopodobieństwem z tym trójkątem, osiągając tak znakomite wyniki, że trójkąt ten nazwany został trójkątem Pascala.
Spis treści |
[edytuj] Programy obliczające
Przykład prostej (ale nieekonomicznej) funkcji rekurencyjnej w języku Pascal, obliczającej element trójkąta Pascala. Wzór wynika z definicji rekurencyjnej elementów trójkąta.
function pascal(n,k:integer):integer; begin if (k=0) or (k=n) then pascal := 1 else pascal := pascal(n-1, k-1) + pascal(n-1,k); end;
A oto przykład programu w C++ wypisującego na ekranie trójkąt Pascala dla zadanej liczby rzędów:
#include <iostream> #include <stdlib.h> //---------------------------------------------------------------- using namespace std; // Deklaracja zmiennych int rzedow; int wiersz[ 34]; int main(int argc, char* argv[]) { cout << "Ile rzedow ?" << endl; cin >> rzedow; cout << endl; // jeśli typ int jest 32-bitowy, to wierszy // o numerach większych od 33 już nie policzymy: // max: (33 po 16) = 1166803110 = 0x458C00A6 if( rzedow > 34) rzedow = 34; for (int i = 0; i < rzedow ; ++i) { int j; wiersz[i] = 1; for (j = i-1; j > 0; --j) wiersz[j] += wiersz[j-1]; for (j = 0; j <= i; j++) { cout << wiersz[j] << " "; } cout << endl; } return 0; } //----------------------------------------------------------------
[edytuj] Własności trójkąta
- Na skrajnych bocznych (zerowy) rzędach trójkąta są jedynki.
- W kolejnym (pierwszym) skrajnym bocznym rzędzie są kolejne liczby naturalne (1, 2, 3, 4, ...).
- W drugim rzędzie różnice między sąsiednimi liczbami są kolejnymi liczbami naturalnymi (są to liczby trójkątne). Liczby trójkątne podają liczbę okręgów ułożonych w kształt trójkąta (1, 3, 6, 10, ...).
- W trzecim liczby piramidalne, podają liczbę kulek ułożonych czworościan foremny (1, 4, 10, 20, 35)
- W czwartej liczbę kul w "czworościanie" w przestrzeni czterowymiarowej.
- Uogólniając, w n tym rzędzie bocznym znajdują się liczby n-komórkowe.
- Wracając do rzędu zerowego i uogólniając możemy policzyć liczbę elementów trójkącie w przestrzeni jedno i zero wymiarowej.
- Suma liczb w poziomym rzędzie to kolejne potęgi liczby 2.
- Każdy element trójkąta jest liczbą różnych dróg, jakimi można do niego dotrzeć z wierzchołka poruszając się jednostronnie w kierunku jednego z dwóch elementów dziedzicznych.
- Po usunięciu z trójkąta wszystkich liczb parzystych pozostałe liczby nieparzyste układają się w geometryczny wzór trójkąta Sierpińskiego:
0 1 # 1 1 1 # # 2 1 2 1 # # 3 1 3 3 1 # # # # 4 1 4 6 4 1 # # 5 1 5 10 10 5 1 # # # # 6 1 6 15 20 15 6 1 # # # # 7 1 7 21 35 35 21 7 1 # # # # # # # # 8 1 8 28 56 70 56 28 8 1 # # 9 1 9 36 84 126 126 84 36 9 1 # # # #
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
- Praca Pascala Traité du triangle arithmétique z 1654 (po francusku) wraz z opisem w j. angielskim