您的位置:

Java实现杨辉三角

Java实现杨辉三角

更新:

在Java中可以使用二维数组的方式,将每一个值赋予其对应的杨辉三角位置,从而形成整个杨辉三角的形结构。

一、算法概述

杨辉三角,又称Pascal三角形,其性质有:第n行的数字个数等于n,第n行的m个数可以表示为C(n-1,m-1),也可以理解为每个数字A[i][j]可以由它的左上方的数字A[i-1][j-1]和上方的数字A[i-1][j]相加的结果。

int[][] triangle = new int[numRows][];

for (int i = 0; i < numRows; i++) {
    triangle[i] = new int[i + 1];
    triangle[i][0] = 1;
    triangle[i][i] = 1;
    for (int j = 1; j < i; j++) {
        triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
    }
}

以上代码依次定义了杨辉三角,并进行了赋值,只留下每一行最后一个数字待求解。

二、杨辉三角性质和Java实现

在Java中,每行的数据是根据上一行的数据计算得出。例如第二行的数据就是第一行数据两边各加了一个0得到的,第三行就是第二行数据两边再各加一个0得到的,以此类推。

for (int i = 0; i < numRows; i++) {
    for (int j = 1; j < i; j++) {
        triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
    }
}

以上代码利用二重循环计算出每一行最后一个数字的位置,并完成赋值。

三、打印杨辉三角

计算结果后将杨辉三角进行打印出来,由于杨辉三角是个等腰三角形,所以在打印时需要前面先打印空格,数量等于总行数减去当前行数。

for (int i = 0; i < numRows; i++) {
    for (int j = 0; j < numRows - i; j++) {
        System.out.print(" ");
    }
    for (int k = 0; k <= i; k++) {
        System.out.print(triangle[i][k] + " ");
    }
    System.out.println();
}


java实现杨辉三角算法,java编程杨辉三角

2022-11-23
Java实现杨辉三角

在Java中可以使用二维数组的方式,将每一个值赋予其对应的杨辉三角位置,从而形成整个杨辉三角的形结构。一、算法概述杨辉三角,又称Pascal三角形,其性质有:第n行的数字个数等于n,第n行的m个数可以

2023-12-08
Java实现杨辉三角

在Java中可以使用二维数组的方式,将每一个值赋予其对应的杨辉三角位置,从而形成整个杨辉三角的形结构。一、算法概述杨辉三角,又称Pascal三角形,其性质有:第n行的数字个数等于n,第n行的m个数可以

2023-12-08
杨辉三角java,杨辉三角java代码

2023-01-05
java杨辉三角,java杨辉三角等腰三角形

2023-01-08
杨辉三角java,杨辉三角javascript程序

2023-01-09
java语言杨辉三角,java写杨辉三角

2022-11-20
php实现杨辉三角,html杨辉三角

2022-11-29
怎样用java打印杨辉三角,java打印输出杨辉三角

2022-11-17
C++杨辉三角详解

2023-05-24
c语言杨辉教程,用C语言实现杨辉三角

2022-11-22
杨辉三角形C语言

2023-05-23
Python编写杨辉三角

2023-05-21
杨辉c语言,杨辉三角型c语言

2023-01-08
杨辉c语言编写,c++编译杨辉三角

2023-01-04
杨辉三角c语言程序,杨辉三角c语言程序5行

2023-01-07
c语言杨辉三角不用数组,C语言杨辉三角数组

2023-01-08
c语言程序杨辉,c程序杨辉三角

2023-01-06
杨辉c语言全集,c语言编译杨辉三角

2023-01-05
c语言杨辉三角不用数组,c++杨辉三角怎么用数组写出来

2022-12-02