algorithm
Pascal's Triangle
Sök…
Pascal's Triagle Basic Information
Ett av de mest intressanta nummermönstren är Pascal Triangel . Namnet "Pascal's Triangle" uppkallad efter Blaise Pascal , en berömd fransk matematiker och filosof.
I matematik är Pascal's Triangle en triangulär grupp av binomialkoefficienter. Raderna i Pascal's triangel är konventionellt uppräknade med början med rad n = 0 överst (den 0: e raden). Posterna i varje rad är numrerade från vänster med början med k = 0 och är vanligtvis förskjutna i förhållande till siffrorna i de intilliggande raderna.
Triangeln är konstruerad på följande sätt:
- I den översta raden finns det en unik post 1 som inte är noll.
- Varje post i varje efterföljande rad konstrueras genom att lägga till numret ovan och till vänster med siffran ovan och till höger, behandla tomma poster som 0.
Till exempel är det initiala numret i den första (eller någon annan) rad 1 (summan av 0 och 1), medan siffrorna 1 och 3 i den tredje raden läggs till för att producera numret 4 i den fjärde raden.
Ekvation för att generera varje post i Pascal triangel:
för alla icke-negativa heltal n och alla heltal k mellan 0 och n, inklusive. Denna återfall för binomialkoefficienterna kallas Pascal regel . Pascal triangel har högre dimensionella generaliseringar. Den tredimensionella versionen kallas Pascal's pyramid eller Pascal's tetrahedron, medan de allmänna versionerna kallas Pascal's simplices.
Exempel på Pascal's Triangle:
Implementering av Pascal's Triangle i 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;
}
}
Pascal triangel i 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");
}
Produktion
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