algorithm
Trójkąt Pascala
Szukaj…
Podstawowe informacje o Pascalu Triagle
Jednym z najciekawszych wzorów liczb jest Trójkąt Pascala . Nazwa „Trójkąt Pascala” nazwana na cześć słynnego francuskiego matematyka i filozofa Blaise'a Pascala .
W Matematyce trójkąt Pascala jest trójkątną tablicą współczynników dwumianowych. Rzędy trójkąta Pascala są konwencjonalnie wyliczane, zaczynając od rzędu n = 0 na górze (rząd 0). Wpisy w każdym rzędzie są ponumerowane od lewej strony zaczynając od k = 0 i zwykle są przesunięte względem liczb w sąsiednich wierszach.
Trójkąt jest zbudowany w następujący sposób:
- W najwyższym rzędzie znajduje się unikalny niezerowy wpis 1.
- Każdy wpis każdego kolejnego wiersza jest konstruowany przez dodanie liczby powyżej i po lewej stronie z liczbą powyżej i po prawej stronie, traktując puste wpisy jako 0.
Na przykład początkowa liczba w pierwszym (lub dowolnym innym) rzędzie to 1 (suma 0 i 1), natomiast liczby 1 i 3 w trzecim rzędzie są dodawane w celu uzyskania liczby 4 w czwartym rzędzie.
Równanie generujące każdy wpis w trójkącie Pascala:
dla dowolnej nieujemnej liczby całkowitej n i dowolnej liczby całkowitej k od 0 do n włącznie. Ta powtarzalność współczynników dwumianowych jest znana jako reguła Pascala . Trójkąt Pascala ma uogólnienia wyższego wymiaru. Wersja trójwymiarowa nazywa się piramidą Pascala lub czworościanem Pascala, natomiast wersje ogólne nazywa się uproszczeniami Pascala.
Przykład trójkąta Pascala:
Implementacja trójkąta Pascala w C #
public class PascalsTriangle
{
static void PascalTriangle(int n)
{
for (int line = 1; line <= n; line++)
{
int c = 1;
for (int i = 1; i <= line; i++)
{
Console.WriteLine(c);
c = c * (line - i) / i;
}
Console.WriteLine("\n");
}
}
public static int Main(int input)
{
PascalTriangle(input);
return input;
}
}
Trójkąt Pascala w C.
int i, space, rows, k=0, count = 0, count1 = 0;
row=5;
for(i=1; i<=rows; ++i)
{
for(space=1; space <= rows-i; ++space)
{
printf(" ");
++count;
}
while(k != 2*i-1)
{
if (count <= rows-1)
{
printf("%d ", i+k);
++count;
}
else
{
++count1;
printf("%d ", (i+k-2*count1));
}
++k;
}
count1 = count = k = 0;
printf("\n");
}
Wynik
1
2 3 2
3 4 5 4 3
4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5