algorithm
Triangolo di Pascal
Ricerca…
Pascal's Triagle Informazioni di base
Uno dei pattern numerici più interessanti è il triangolo di Pascal . Il nome "Pascal's Triangle" prende il nome da Blaise Pascal , un famoso matematico e filosofo francese.
In Matematica, il triangolo di Pascal è una matrice triangolare di coefficienti binomiali. Le righe del triangolo di Pascal vengono enumerate convenzionalmente iniziando con la riga n = 0 in alto (la riga 0). Le voci in ogni riga sono numerate da sinistra a partire da k = 0 e sono generalmente sfalsate rispetto ai numeri nelle righe adiacenti.
Il triangolo è costruito nel modo seguente:
- Nella riga più in alto è presente una voce diversa da zero 1.
- Ogni voce di ogni riga successiva viene costruita aggiungendo il numero sopra e a sinistra con il numero sopra e a destra, trattando le voci vuote come 0.
Ad esempio, il numero iniziale nella prima (o qualsiasi altra) riga è 1 (la somma di 0 e 1), mentre i numeri 1 e 3 nella terza riga vengono aggiunti per produrre il numero 4 nella quarta riga.
Equazione per generare ogni voce nel triangolo Pascal:
per qualsiasi numero intero non negativo n e qualsiasi numero intero k compreso tra 0 e n, inclusi. Questa ricorrenza dei coefficienti binomiali è nota come regola di Pascal . Il triangolo di Pascal ha generalizzazioni dimensionali più elevate. La versione tridimensionale è chiamata piramide di Pascal o tetraedro di Pascal, mentre le versioni generali sono chiamate Simplices di Pascal.
Esempio di triangolo di Pascal:
Implementazione del triangolo di Pascal in 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;
}
}
Triangolo Pascal in 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");
}
Produzione
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