/*昨天被人问到杨辉三角,发现自己已经不记得杨辉三角是什么。在网上查百科才想起来。网上的代码多数都是用二维数组实现,觉得浪费空间,因此,自己写了一个一维数组的实现。*/ /* * 杨辉三角 */ 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(); } } }