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 . . . . . . . . . . . . . . . . . . .
Każda liczba w trójkącie jest sumą dwóch liczb znajdujących się bezpośrednio nad nią
Na bokach trójkąta znajdują się liczby 1, a pozostałe powstają 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 .
Przykład: W wierszu 5 na miejscu 2 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
Blaise 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.
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 zerowymiarowej.
- Sumy liczb w poziomych rzędach to kolejne potęgi liczby 2.
- Każdy element trójkąta zawiera liczbę różnych dróg, jakimi można do niego dotrzeć z wierzchołka poruszając się do sąsiednich elementów w lewo w dół oraz w prawo w dół.
- 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 # # # #
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;
Przykład drzewa Pascala napisany w jezyku c++, n - ilosc wierszy, tablica zwraca wartosc wspolczynnika w zadanym wierszu i kolumnie
int **trojkatPascala;trojkatPascala= new int *[n]; for (int j=0;j<n;j++){ trojkatPascala[j]=new int [j+1]; trojkatPascala[j][0]=1;trojkatPascala[j][j]=1;for (int i = 0; i<j-1; i++) trojkatPascala[j][i+1]=trojkatPascala[j-1][i]+trojkatPascala[j-1][i+1];}
A oto przykład programu w Pythonie wypisującego liczby z trójkąta Pascala dla zadanej liczby rzędów:
def wypisz(linijka): print ' '.join([str(l) for l in linijka]) def pascal(wielkosc): linijka = [1] wypisz(linijka) for i in range(wielkosc - 1): kolejna = [1]for i in range(len(linijka) - 1): kolejna.append(linijka[i] + linijka[i+1]) kolejna.append(1) linijka = kolejna wypisz(linijka) if __name__ == '__main__': import sys if len(sys.argv) == 2: pascal(int(sys.argv[1])) else: print "Uzycie: python "+sys.argv[0]+" <ilosc wierszy>"
Zobacz też
Linki zewnętrzne