JAVA打印直角杨辉三角形


打印出如下的结果


1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1


/**
 * 〈打印直角杨辉三角形〉<br>
 *
 * @author hjsjy
 * @create 2018/9/13
 * @since 1.0.0
 */
public class yanghuitest {
    int[][] a;
    public int[][] yang(int n){
        a=new int[n][n];
        for(int i=0;i<n;i++){

                a[i][0]=1;
                a[i][i]=1;//第一行输出1,第二行输出1 1
            if(i>=2){//下面当行数大于2的时候开始计算第n行的第一位到最后一位之间的数据
            for(int j=1;j<i;j++) {
                a[i][j] = a[i - 1][j] + a[i - 1][j - 1];/*这之间的每个  
               数为上一行的同一列数和上遗憾的同一列数的前一列数之和,  
               这样二维数据就完整的记录了杨辉三角形。*/
            }
            }
        }
        //下面是实现打印二维数组,即打印杨辉三角形
        for(int i=0;i<n;i++) {//打印n行
            for (int j = 0; j <= i; j++) {//打印每一行的里面的数据
                System.out.print(a[i][j] + " ");
            }
            System.out.println();
        }
        return a;
    }

    public static void main(String[] args) {
        new yanghuitest().yang(10);
    }
}
//输出结果
--------------------------
1 
1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1 
1 6 15 20 15 6 1 
1 7 21 35 35 21 7 1 
1 8 28 56 70 56 28 8 1 
1 9 36 84 126 126 84 36 9 1 

posted @ 2018-09-13 22:22  narojay  阅读(765)  评论(0编辑  收藏  举报