杨辉三角 简单的说一下就是两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就是1,2,1这就是杨辉三角的其中一行,立方,四次方,运算的结果看看各项的系数,你就明白其中的道理了 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 这就是杨辉三角,也叫贾宪三角杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。思路是创建一个整型二维数组,包含10个一维数组。使用双层循环,在外层循环中初始化每一个第二层数组的大小。在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素。
复制代码代码如下:
public class YanghuiTriangle {
public static void main(String[] args) {
int triangle[][]=new int[10][];// 创建二维数组
// 遍历二维数组的第一层
for (int i = 0; i < triangle.length; i++) {
triangle[i]=new int[i+1];// 初始化第二层数组的大小
// 遍历第二层数组
for(int j=0;j<=i;j++){
// 将两侧的数组元素赋值为1
if(i==0||j==0||j==i){
triangle[i][j]=1;
}else{// 其他数值通过公式计算
triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
}
System.out.print(triangle[i][j]+"\t"); // 输出数组元素
}
System.out.println(); //换行
}
}
}
改进代码:public class YangHuiTriangle { private int rows; public void yangHui(int row){ rows = row; int[][] triangle = new int[rows][]; for(int i=0;i<rows;i++){ triangle[i] = new int[i+1]; for(int j=0;j<i+1;j++){ if(i==0||j==0||i==j){ triangle[i][j]=1; }else{ triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1]; } System.out.println(triangle[i][j]+" "); } System.out.println(); } } public static void main(String[] args){ YangHuiTriangle t = new YangHuiTriangle(); t.yangHui(5); } }
杨辉三角
最新推荐文章于 2022-11-08 22:12:18 发布