杨辉三角:非常容易理解的一种方式,采用前面添加空格的形式实现对称

package javacore;

/**
 * @author lixw
 * @date created in 14:54 2018/12/17
 */
public class Test02 {
    public static void main(String[] args) {

        int i, j;
        int a[][] = new int[10][10]; /*10行10列的杨辉三角*/
        for (i = 0; i < 10; i++) /*先赋值两边*/ {
            a[i][0] = 1;
            a[i][i] = 1;
        }
        for (i = 0; i < 10; i++) /* 输出部分 */ {
            for (j = 0; j < i + 1; j++)
                System.out.print(a[i][j] + "\t");
            System.out.println();
        }

        for (i = 2; i < 10; i++) /* 计算中间的数值 */
            for (j = 1; j < i; j++)
                a[i][j] = a[i - 1][j - 1] + a[i - 1][j];

        for (i = 0; i < 10; i++) /* 输出部分 */ {
            for (j = 0; j < i + 1; j++)
                System.out.print(a[i][j] + "\t");
            System.out.println();
        }
    }
}

杨辉三角:非常容易理解的一种方式,采用前面添加空格的形式实现对称_第1张图片

package javacore;

/**
 * @author lixw
 * @date created in 14:54 2018/12/17
 */
public class Test02 {
    public static void main(String[] args) {

        int i, j;
        int a[][] = new int[10][10]; /*10行10列的杨辉三角*/
        for (i = 0; i < 10; i++) /*先赋值两边*/ {
            a[i][0] = 1;
            a[i][i] = 1;
        }
        for (i = 0; i < 10; i++) /* 输出部分 */ {
            for (j = 0; j < i + 1; j++)
                System.out.print(a[i][j] + "\t");
            System.out.println();
        }
        
        /* 计算中间的数值 */
        for (i = 2; i < 10; i++) 
            for (j = 1; j < i; j++)
                a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
        /* 输出部分 */
        
        for (i = 0; i < 10; i++)  {
            //输出需要先打印空格保持对称:
            for(int m = 0;m<10-i;m++){
                System.out.print("\t");
            }

            for (j = 0; j < i + 1; j++)
                System.out.print(a[i][j] + "\t\t");
            System.out.println();
        }
    }
}

杨辉三角:非常容易理解的一种方式,采用前面添加空格的形式实现对称_第2张图片

你可能感兴趣的:(杨辉三角:非常容易理解的一种方式,采用前面添加空格的形式实现对称)