楊輝三角的簡單實現(C++)


  楊輝三角是二項式系數在三角形中的一種幾何排列,其特點是三角每一行第一個數和最后一個數都是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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM