形如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
为杨辉三角
若要打印出上述图形,要先分析图形构成,由杨辉三角定义可知,每数等于前一行其左右两数之和
除1外,因此先将框架“1”打印出来,
可用二维数组
int s[][]={};
s[i][0]=1; && s[i][s[i].length-1]=1;
其余数:
s[i][j]=s[i-1][j]+s[i-1][j-1];
在二维数组中,s.length表示二维数组的行数, s[i].length表示该行的列数,
再对二维数组进行遍历,
for( int i=0;i<s.length;i++){
for(int j=0;j<=i;j++){}或者 for(int j=0;j<s[i].length;j++){} }
public class test3 {
public static void f(int line){
int s[][]=new int[line][line];
for (int i = 0; i < s.length; i++) {
for (int j = 0; j <=i; j++) {
if(j==0 || j==s[i].length){
s[i][j]=1;
}else {
s[i][j]=s[i-1][j]+s[i-1][j-1];
}
}
}
for (int i = 0; i < s.length; i++) {
for (int j = 0; j <=i; j++) {
if(s[i][j]!=0){
System.out.print(s[i][j]+"\t");}
}
System.out.println();
}
}
public static void main(String[] args) {
f(7);
}
}