java中的杨辉三角

本文主要介绍如何打印杨辉三角(直角三角形),如下图所示:

 

规律如下:

第一行全为1,对角线元素全为1,设i表示行标,j表示列标。

arr[i][0] = 1;
arr[i][i] = 1;

当i > 0,j > 0时,有如下迭代式

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

整体代码如下:

public class Five {
    public static void main(String[] args) {
        
        System.out.println("请输入需要打印的行数:");
        Scanner scanner = new Scanner(System.in);
        int row = scanner.nextInt();
        int [][] arr = new int [row][];
        
        for(int i= 0;i<arr.length;i++) {
            arr[i] = new int [i+1];
            arr[i][i] = 1;
            arr[i][0] = 1;
            for(int j=1;j<i;j++) {
                arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
            }
        }
        
        for(int i=0;i<arr.length;i++) {
            for(int j = 0;j<arr[i].length;j++) {
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
    }

}

注意:在列数不确定情况下,一维数组在使用前,需要分配存储空间

arr[i] = new int [i+1];
posted @ 2022-12-04 14:10  zwGitOne  阅读(214)  评论(0编辑  收藏  举报