/*昨天被人问到杨辉三角,发现自己已经不记得杨辉三角是什么。在网上查百科才想起来。网上的代码多数都是用二维数组实现,觉得浪费空间,因此,自己写了一个一维数组的实现。*/
/*
* 杨辉三角
*/
public class YangHui{
public static void main(String[]args){
//测试
final int Row = 10;
yangHuiGraph(Row);
}
/*
* @param Row 杨辉三角的行数
*/
public static void yangHuiGraph(int Row) {
if(Row <= 0) {
return ;
}
int result[] = new int[(1+Row)*Row/2];
for(int i = 0;i < Row;i++) {
for(int k = 0;k < Row-1-i;k++) {
System.out.print(" ");
}
int temp = (1+i)*i/2;
for(int j = 0;j <= i;j++) {
if(j == 0||j == i) {
result[temp+j] = 1;
} else {
result[temp+j] = result[temp+j-i] + result[temp+j-i-1];
}
System.out.print(result[temp+j]+" ");
}
System.out.println();
}
}
}