21xrx.com
2024-11-08 23:24:45 Friday
登录
文章检索 我的文章 写文章
Java实现杨辉三角递归存储的二维数组
2023-06-14 22:44:06 深夜i     --     --
杨辉三角 递归 二维数组

杨辉三角是中国古代数学家杨辉在《详解九章算术》中首次提出的,它是以杨辉命名的二项式系数三角形,它的形态如下:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

...

在Java中,杨辉三角可以用递归方式实现,并将其存储在二维数组中供后续使用。以下是杨辉三角java代码的递归实现:


public class YangHuiTriangle {

  public static int[][] createTriangle(int n) {

    if (n == 1) {

      int[][] a = new int[1][];

      a[0] = new int[]{1};

      return a;

    } else {

      int[][] triangle = createTriangle(n - 1);

      int[] currentRow = new int[n];

      currentRow[0] = 1;

      currentRow[n - 1] = 1;

      for (int i = 1; i < n - 1; i++) {

        currentRow[i] = triangle[n - 2][i - 1] + triangle[n - 2][i];

      }

      int[][] newTriangle = new int[n][];

      for (int i = 0; i < n - 1; i++) {

        newTriangle[i] = triangle[i];

      }

      newTriangle[n - 1] = currentRow;

      return newTriangle;

    }

  }

}

上述代码中createTriangle方法是用于生成杨辉三角的递归方法,其中n表示行数,递归到第一行时返回一个一维数组,每递归一次生成一行杨辉三角,并将其存储在二维数组中。

以上便是关于杨辉三角java代码递归存储的二维数组的相关介绍与实现。本方法使用简单、直接,适合于初学者进行学习。

  
  

评论区

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