第一种 输出右半边的杨辉三角形
/**
* 杨辉三角形规律
* 1. 第n行 n个数字
* 2. 每行开头和结尾都是1
* 二维数组可以表示为a[n][0]=1 a[n][n]1
* 3. 第n行第i个数第n-1行第i个数+第i-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 */ int[][]arr=new int[10][10]; for (int i = 0; i < arr.length; i++) { // 二维数字的.length得到的是行数 也就是一维数组的个数 for (int j = 0; j <= i; j++) { // 先把1的位置写好 arr[i][i]=1; arr[i][0]=1; // 第3行才开始执行这个 前两行没有这东西 if (i>=2&&j>0){ // 第n行第i个数==第n-1行第i个数+第i-1个数 arr[i][j]=arr[i-1][j]+arr[i-1][j-1]; } System.out.print(arr[i][j]+"\t"); } System.out.println(); }
第二种 输出前10行整个杨辉三角形 (现在不会 后期补充)