杨辉三角

醉酒当歌 提交于 2020-02-08 09:19:12
  • 每行的第一个和最后一个都是1

    • 进一步推算:第1列全部为1,第一行全都是1,当列数等于行数为1

  • 当前值等于头上的值加头上的左边的值

  • 第一行一列,第二行两列,第三行三列…….

  • 话不多说,直接上代码

  • package ace;
    public class sanjiao {
    	 /**
         * 打印杨辉三角形
         */
        public static void PascalTriangle() {
            //打印十行的杨辉三角形
            int[][] arrays = new int[10][];
            //行数
            for (int i = 0; i < arrays.length; i++) {
                //初始化第二层的大小
                arrays[i] = new int[i + 1];
                //列数
                for (int j = 0; j <= i; j++) {
                    //是第一列,第一行,行数等于列数,那么通通为1
                    if (i == 0 || j == 0 || j == i) {
                        arrays[i][j] = 1;
                    } else {
    
                        //当前值等于头上的值+头上左边的值
                        arrays[i][j] = arrays[i - 1][j] + arrays[i - 1][j - 1];
                    }
                }
            }
            System.out.println("在下小团团" + "-------------------------------");
    
            for (int[] array : arrays) {
                for (int value : array) {
                    System.out.print(value + "\t");
                }
                System.out.println();
            }
            System.out.println("在下小脑斧" + "-------------------------------");
        }
        public static void main(String[] args) {
        	PascalTriangle();
    	}
    }
    
    
    		
    

    下边为具体运行结果 

    在下小团团-------------------------------
    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    
    在下小脑斧-------------------------------
     

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!