您的位置:首页 > 其它

打印杨辉三角

2017-08-14 23:59 176 查看
//打印前8行杨辉三角

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
class YangHuiTriangle

{

                 public static void main(String[] args)

               {

/*

                     int[][] yht = new int[8][8];

                     //先初始化8个一维数组中的所有的元素值都为1;

                     for(int i=0;i<yht.length;i++){

  

                            for(int j=0;j<yht[i].length;j++){
                                        yht[i][j] = 1;

                            }

                  }

  

                    //当第三行的第二个元素值等于前一行对应列的元素值与前一列的元素值的和

                   for(int i=2;i<yht.length;i++){

  

                              for(int j=1;j<i;j++){
                                     yht[i][j] = yht[i-1][j-1]+yht[i-1][j];

   

                              }
                     }
                    //遍历出其需要打印出的元素值

                    for(int i=0;i<yht.length;i++){

  

                              for(int j=0;j<=i;j++){

   

                                         System.out.print(yht[i][j]+"\t");

                                }
                       System.out.println();

                      }

*/

//                 第二种方式,更优化代码
                 int[][] yht = new int[8][];       //定义一个二位数组,其有8行但是其每行的元素个数不一样,可以先确定有几个一维数组
                 for(int i=0;i<yht.length;i++){

  

                                yht[i] = new int[i+1];         //初始化每个一维数组中的元素个数,因为每个一维数组中的元素等于行的数
                         for(int j=0;j<yht[i].length;j++){  //数组是从下标为0开始的

   

                                 if(i==0 || j==0 || j==yht[i].length-1){

    

                                      yht[i][j] = 1;

                                 }else{

     

                                      yht[i][j]=yht[i-1][j-1]+yht[i-1][j];

                                }
                                  System.out.print(yht[i][j]+"\t");

                         }
                        System.out.println();

                 }

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: