杨辉三⾓的简单实现(C++)
1//YangHuisanjiao 输⼊⾏数,输出三⾓
2 #include<iostream>
3using namespace std;
4#define N 35
记住我5
6int main()
7 {
8int a[N][N];
9int n, i, j;
10 cin >> n;
11for (i = 1;i <= n;i++)
12 {
13for (j = 1;j <= i;j++)//使⽤i来约束j的数值
14 {
15if (i == j || j == 1)//每⾏⾏⾸或⾏尾均为1
16 a[i][j] = 1;
17else
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
27return0;
28 }
在求解杨辉三⾓时,注意j的值为1以及j和i的值相等的时,将该位置赋值为1。其它情况下(数不在⾏⾸或⾏尾),由之前所得结论:该数等于其上⼀⾏同⼀列数字和其前⼀数字的和来赋值。
1 a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
⽰例:
110
2
31
411
5121
61331
714641
815101051
91615201561
10172135352171
1118285670562881
12193684126126843691
发布评论