楊輝三角是二項式系數在三角形中的一種幾何排列,其特點是三角每一行第一個數和最后一個數都是1,如果一個數不是行首或行尾,則該數等於其上一行同一列數字和其前一數字的和。
1 //YangHuisanjiao 輸入行數,輸出三角 2 #include<iostream> 3 using namespace std; 4 #define N 35 5 6 int main() 7 { 8 int a[N][N]; 9 int n, i, j; 10 cin >> n; 11 for (i = 1;i <= n;i++) 12 { 13 for (j = 1;j <= i;j++)//使用i來約束j的數值 14 { 15 if (i == j || j == 1)//每行行首或行尾均為1 16 a[i][j] = 1; 17 else 18 a[i][j] = a[i - 1][j] + a[i - 1][j - 1]; 19 20 cout << " "; 21 22 cout << a[i][j]; 23 } 24 cout << endl; 25 } 26 27 return 0; 28 }
在求解楊輝三角時,注意j的值為1以及j和i的值相等的時,將該位置賦值為1。其它情況下(數不在行首或行尾),由之前所得結論:該數等於其上一行同一列數字和其前一數字的和來賦值。
1 a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
示例:
1 10 2 3 1 4 1 1 5 1 2 1 6 1 3 3 1 7 1 4 6 4 1 8 1 5 10 10 5 1 9 1 6 15 20 15 6 1 10 1 7 21 35 35 21 7 1 11 1 8 28 56 70 56 28 8 1 12 1 9 36 84 126 126 84 36 9 1