21xrx.com
2024-11-05 16:26:29 Tuesday
登录
文章检索 我的文章 写文章
使用C++编写杨辉三角代码
2023-07-10 16:44:11 深夜i     --     --
C++ 杨辉三角 编写 代码

杨辉三角是孙子算经中介绍的一种数学图形,也被称为帕斯卡三角形,以其规律性和奇妙之处而令人惊叹。使用C++编写杨辉三角代码可以帮助我们更好地理解这个数学图形的构成和规律。

杨辉三角是一个数学三角形,其每一行的数字都是由前一行相邻数字相加而来。第1行只有一个数 “1”,第2行的数“1”和“1”是由第1行的“1”相邻相加得来,第3行的数字“1”、“2”、“1”是由第2行的相邻数字相加得来,以此类推。

首先,我们需要定义一个二维数组来存储杨辉三角。数组的行数和列数都等于杨辉三角的层数加1。因为最上面的“1”只有一个,所以我们可以直接将其赋值到数组的第一行第一列。

代码如下:


#include<iostream>

using namespace std;

int main()

{

  int arr[10][10] = {0};

  arr[0][0] = 1;

  return 0;

}

接下来,我们需要通过两个for循环来实现杨辉三角的构造。每个内部循环在当前行的第i个位置添加这个位置上面的两个数字之和。这个数字存入数组,直到整个数组都填充完毕。

代码如下:


#include<iostream>

using namespace std;

int main()

{

  int arr[10][10] = {0};

  arr[0][0] = 1;

  for(int i=1;i<10;i++) //i表示行数

  {

    arr[i][0] = 1;

    for(int j=1;j<=i;j++) //j表示列数

    {

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

    }

  }

  return 0;

}

最后,我们需要添加一个循环来遍历整个数组,并将其打印出来。由于杨辉三角有规律性,每一行的数字都是从第一列开始,到第i列结束,中间为0或无效数字。

代码如下:


#include<iostream>

using namespace std;

int main()

{

  int arr[10][10] = {0};

  arr[0][0] = 1;

  for(int i=1;i<10;i++) //i表示行数

  {

    arr[i][0] = 1;

    for(int j=1;j<=i;j++) //j表示列数

    {

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

    }

  }

  for(int i=0;i<10;i++) //i表示显示的行数

  {

    for(int j=0;j<=i;j++) //j表示列数

    {

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

    }

    cout<<endl;

  }

  return 0;

}

完整代码如下:


#include<iostream>

using namespace std;

int main()

{

  int arr[10][10] = {0};

  arr[0][0] = 1;

  for(int i=1;i<10;i++) //i表示行数

  {

    arr[i][0] = 1;

    for(int j=1;j<=i;j++) //j表示列数

    {

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

    }

  }

  for(int i=0;i<10;i++) //i表示显示的行数

  {

    for(int j=0;j<=i;j++) //j表示列数

    {

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

    }

    cout<<endl;

  }

  return 0;

}

实现这个杨辉三角代码可以帮助我们更好地了解C++中数组和for循环的使用,同时也可以让我们更好地理解杨辉三角的规律和构成。这对于我们学习数学和编程都有很大的帮助。

  
  
下一篇: C++ 线段树简介

评论区

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