21xrx.com
2024-12-22 18:33:16 Sunday
登录
文章检索 我的文章 写文章
C++代码:输出杨辉三角的最大行数
2023-07-05 09:47:53 深夜i     --     --
C++ 代码 杨辉三角 输出 最大行数

杨辉三角又称帕斯卡三角,它是一个很有趣的数学问题。这个三角形的第一行只有一个数1,接下来的每一行都是上一行中的数值从左往右相加而成。杨辉三角中的每个数都等于它上方的两数之和。

在C++中,我们可以使用一个二维数组或者两个一维数组来存储杨辉三角的值。通过循环枚举每一行的数值,我们可以输出杨辉三角中的任意一行数值。

下面的C++代码可以输出杨辉三角的最大行数:

#include

using namespace std;

int main()

{

  int n;

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

  cin>>n;

  int a[100][100];

  for(int i=0;i

  {

    a[i][0]=a[i][i]=1; //每一行的首尾都是1

    for(int j=1;j

    {

      a[i][j]=a[i-1][j-1]+a[i-1][j]; //中间的数等于上一行的两个数相加

    }

  }

  cout<<"杨辉三角如下:"<

  for(int i=0;i

  {

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

    {

      cout< <<" "; //输出杨辉三角中的一个数值

    }

    cout<

  }

  return 0;

}

在这个程序中,我们先使用cin输入最大行数n,然后定义一个二维数组a[100][100]来存储杨辉三角的每个数值。接下来,使用双重循环依次计算每个数值,并将它们存储在数组a中。最后,使用双重循环依次输出杨辉三角中的每个数值。

运行这个程序后,输入一个整数n,就可以输出杨辉三角的前n行。这个程序的时间复杂度是O(n^2),因此在输入较大的数值时,运行速度会比较慢。但是,这个程序的空间复杂度比较小,只占用了O(n^2)的空间,因此在内存有限的情况下,可以采用这种方法来计算杨辉三角。

  
  

评论区

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