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:

Równanie 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:

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow