Трикутник Паскаля

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Перші п'ять рядів трикутника Паскаля

Трикутник Паскаля — це геометрично, на зразок трикутника, розміщені біноміальні коефіцієнти. Це математичне поняття названо на честь Блеза Паскаля. Таку назву вживають переважно в західному світі, адже математики Індії, Персії, Китаю та Італії знали цей трикутник ще за кілька століть перед Паскалем.

Ряди трикутника Паскаля умовно пронумеровані згори, починаючи з нульового, й числа в нижньому ряді відносно чисел у попередньому ряді завжди розміщені ступінчасто й навскіс. Побудувати цей трикутник просто. Кожне число в кожному ряді одержуємо, додавши два числа, розміщені вгорі (зліва і справа). Якщо зліва або справа немає числа, підставляємо нуль на його місце. Наприклад, перше число в першому ряді 0 + 1 = 1, тоді як числа 1 і 3 в третьому ряді утворюють число 4 в четвертому ряді: 1 + 3 = 4.

Правило Паскаля стверджує: якщо

 {n \choose k} = \frac{n!}{k! (n-k)!}

k-й біноміальний коефіцієнт в біноміальному ряді для (x + y)n, тоді

 {n \choose k} = {n-1 \choose k-1} + {n-1 \choose k}

для будь-якого додатного цілого n і будь-якого цілого k між 0 і n.

Реалізація[ред.ред. код]

Реалізація програми створення Трикутника Паскаля[ред.ред. код]

Нижче наведено реалізацію простої програми на С++.

#include "stdafx.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
 
void Print(int **Z, const int n){
	if (n >= 14){
		for (int i=0; i < n; i++){
			for (int j=0; j <= i; j++)
				cout << setw(5) << Z[i][j] ;
			cout << endl;
		}
	}
	else {
		for (int i=0; i < n; i++){
			for (int j=0; j <= i; j++)
				cout << setw(3) << Z[i][j];
			cout << endl;
		}
	}
 
	cout << endl;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(0,"");
	cout << "Трикутник Паскаля." << endl;
	int n;
	cout <<"Введiть кiлькiсть рiвнiв = "; cin >> n;
	int **m= new int *[n];
	for (int i=0; i < n; i++)
		m[i]=new int [n];
 
	int i=0, j=0;              
	for (int k=0; k <n; k++)
		m[i++][j]=1;
 
	i=1; j=1;				   
	for (int k=0; k <n-1; k++)
		m[i++][j++]=1;
 
	for (i=2; i < n; i++)
		for (j=1; j <=i-1; j++)
			m[i][j]=m[i-1][j-1]+m[i-1][j];
 
	Print(m,n);
	system("pause");
 
	return 0;
}


Посилання[ред.ред. код]

Трикутник Паскаля на сайті MathWorld