杨辉三角两种输出结果

来源:互联网 发布:js appendchild的用法 编辑:程序博客网 时间:2024/06/04 19:56
package com.sxt;


import java.util.Arrays;


public class KeBen {

public static void main(String[] args) {

int[][] array =new int [10][10];
array [0]=new int[]{1};//第一行就是1
for (int i=1;i<10;i++){
array[i]=new int [i+1];
for(int j=0;j<i+1;j++){
if(j==0||j==i){
//边界特殊处理
array[i][j]=1;
}else{
//等于上一行的两肩之和
array[i][j]=array[i-1][j]+array[i-1][j-1];
}
}

}
//简单输出
for(int i=0;i<10;i++){
System.out.println(Arrays.toString(array[i]));
}
//排版输出
for(int i=0;i<10;i++){
for(int j=0;j<10-i-1;j++){
System.out.print("  ");//两个空格
}
for(int j=0;j<=i;j++){
String a=""+array[i][j];//转成字符串

//字符串长度不一样要分开考虑
if(a.length()==1){a=" "+a+" ";}
if(a.length()==2){a=" "+a;}
System.out.print(a+"  ");
}
System.out.println();
}
}
}

运行结果:

[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]
                   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   

原创粉丝点击