Java:输出杨辉三角。

杨辉三角
:杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。
详情参考百度百科:https://baike.baidu.com/item/%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92/215098?fr=aladdin

import java.util.Arrays;
public class ArraySan{

/*将杨辉三角看成一个二维数组来处理,二维数组的实际上就是一个数组,数组中的数据也是数组。*/
public void test(){
int i,j;
int n[][] =new int[10][];
n[0] = new int[]{1};
n[1] = new int[]{1,1};
//前两行都为1,所以这里直接给前两个数组赋值
for(i=2;i<n.length;i++){
    n[i] = new int[i+1];
    /*把行数看作数组n[],画出杨辉三角,可以看出,n[i]代表的数组长度为i+1,所以新建一个长度为i+1的数组*/
    for(j=0;j<n[i].length;j++){
    /* j代表数组n[i]的角标,所以j不大于n[i]的长度。
        已知,杨辉三角中每行数据的第一位和最后一位都是1。*/
        if(j==0||j==i){
            n[i][j] = 1;
        }else{
        /*公式,经验证dn[i][j]所代表的值等于n[i-1][j-1]+n[i-1][j]*/
            n[i][j] = n[i-1][j-1]+n[i-1][j];
        }
    }
}
for(i=0;i<n.length;i++){
//对输出数据进行格式化处理
    for(j=0;j<n.length-i-1;j++){
    //使数组居中输出,n.length-i-1个空格
        System.out.print(" ");
    }
    for(j=0;j<i+1;j++){
    //对数组进行遍历输出,用空格隔开
        System.out.print(n[i][j]+" ");
    }
    System.out.println();
}
}

public static void main(String args[]){
    ArraySan as = new ArraySan();
    as.test();
}
}

猜你喜欢

转载自blog.csdn.net/qq_38091375/article/details/81416900
今日推荐