C/C++教程

杨辉三角的简单实现(C++)

本文主要是介绍杨辉三角的简单实现(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

 

这篇关于杨辉三角的简单实现(C++)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!