之前笔试做过一道这样的题
package easy;
/**
* 打印菱形杨辉三角
* @author w
*
*/
public class YangHui {
public static void main(String[] args) {
yangHui(10);
}
public static void yangHui(int rows){
//核心使用二维数组来存储杨辉三角的值
int[][] yangHui = new int[rows][];
for(int i=0;i<rows;i++){
yangHui[i] = new int[i+1];
for(int j=0;j<=i;j++){
if(i==0){
yangHui[i][j] = 1;//第一个数字始终为1
}else{
int value = 0;
if(j>=1){
value += yangHui[i-1][j-1];
}
if(j<i){
value += yangHui[i-1][j];
}
yangHui[i][j] = value;
}
}
}
System.out.println("下面输出菱形的杨辉三角");
for(int i=0;i<rows;i++){
for(int j=0;j<rows-i-1;j++){
System.out.print("\t");
}
for(int j=0;j<=i;j++){
System.out.print(yangHui[i][j]+"\t\t");
}
System.out.println();
}
for(int i=rows-2;i>=0;i--){
for(int j=rows-i-2;j>=0;j--){
System.out.print("\t");
}
for(int j=0;j<=i;j++){
System.out.print(yangHui[i][j]+"\t\t");
}
System.out.println();
}
}
}