สามเหลี่ยมพาสคาล (Pascal's Triangle) ประกอบด้วยตัวเลขในรูปสามเหลี่ยม ซึ่งขอบของสามเหลี่ยมเป็นตัวเลข 1 และตัวเลขภายในสามเหลี่ยมคือผลรวมของตัวเลข 2 ตัวที่อยู่ตรงด้านบนโดยตรง
โปรแกรมที่สาธิตการสร้างสามเหลี่ยมพาสคาล มีดังนี้
ตัวอย่าง
using System;
namespace PascalTriangleDemo {
class Example {
public static void Main() {
int rows = 5, val = 1, blank, i, j;
Console.WriteLine("Pascal's triangle");
for(i = 0; i < rows; i++) {
for(blank = 1; blank <= rows - i; blank++)
Console.Write(" ");
for(j = 0; j <= i; j++) {
if (j == 0 || i == 0)
val = 1;
else
val = val * (i - j + 1) / j;
Console.Write(val + " ");
}
Console.WriteLine();
}
}
}
}ผลลัพธ์
Pascal's triangle 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
ตอนนี้มาเข้าใจโปรแกรมด้านบนกัน
สามเหลี่ยมพาสคาลถูกสร้างโดยใช้ลูป for 巢状 (nested for loop) ลูป for ภายนอกจัดการช่องว่างที่จำเป็นสำหรับการสร้างแถวในสามเหลี่ยม และลูป for ภายในระบุค่าที่จะพิมพ์เพื่อสร้างสามเหลี่ยมพาสคาล ส่วนโค้ดสำหรับส่วนนี้มีดังนี้
for(i = 0; i < rows; i++) {
for(blank = 1; blank <= rows - i; blank++)
Console.Write(" ");
for(j = 0; j <= i; j++) {
if (j == 0 || i == 0)
val = 1;
else
val = val * (i - j + 1) / j;
Console.Write(val + " ");
}
Console.WriteLine();
}