21xrx.com
2024-11-22 07:23:14 Friday
登录
文章检索 我的文章 写文章
C++中实现杨辉三角
2023-07-04 21:19:48 深夜i     --     --
C++ 杨辉三角 实现

杨辉三角也称为帕斯卡三角,是由杨辉在中国宋代发现的。它是一个很有趣的数学对象,它是一个三角形矩阵,由数列1,1,1,……组成。矩阵中每个数等于上一行相邻两数之和。它的形式如下:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

…………

杨辉三角在组合数学中有很多应用,如二项式展开式等等。在C++中,我们可以用循环和数组来实现杨辉三角。

首先,我们定义一个二维数组arr[][]来存储杨辉三角中的每个数。然后我们用两个for循环来遍历数组中的每个位置,通过上一行左右两个数之和计算当前位置的数,最后输出数组。

下面是C++代码示例:


#include <iostream>

using namespace std;

int main()

{

  int n; // 输入行数

  cout << "请输入杨辉三角的行数: ";

  cin >> n;

  int arr[100][100]; // 定义二维数组

  for (int i = 0; i < n; i++) // 初始化数组第一行为1

  {

    arr[i][0] = 1;

    arr[i][i] = 1;

  }

  for (int i = 2; i < n; i++) // 计算每个数

  {

    for (int j = 1; j < i; j++)

    {

      arr[i][j] = arr[i-1][j-1] + arr[i-1][j];

    }

  }

  for (int i = 0; i < n; i++) // 输出杨辉三角

  {

    for (int j = 0; j <= i; j++)

    {

      cout << arr[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

上面这个程序会先让用户输入行数,然后用一个二维数组来存储杨辉三角中的每个数。最后,程序会输出整个杨辉三角。

不难看出,C++中实现杨辉三角十分简单。有了这个程序,我们可以很快地计算出杨辉三角,方便我们在组合数学中的应用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复