java算法练习----杨辉三角

版权声明:转发者请注明地址哦-----kuls的博客-一个正在疯狂学习的大学生- https://blog.csdn.net/qq_36547531/article/details/82151987

又写了个算法题,著名的杨辉三角,哈哈,直接进入主题吧!

先给大家简单介绍一下吧: 杨辉三角的每个数等于它上方两数之和。

这里写图片描述

在百度上找了张图给大家理解

大家可以自己分析一下,我直接上代码,在代码里面讲解


public class trangle {
 public static void main(String[] args) {

     int x=8;  //我们先定义8行的数组,这里可以随意设置哦
     int[][] arg=new int[x][x];//定义一个二维数组

     for(int i=0;i<x;i++) {   //i我们可以看做是每一行
         for(int k=1; k<=x-i;k++) {    //这里的k 是我们的空格  ,经过分析   空格数=总行数(x)-第几行(i),所以来个for循环
                System.out.print(" ");
            }
          for(int j=0;j<=i;j++) {       //j就是具体到每一行的,相当于坐标里面的y

              if (i==0||j==0||j==x) {    //判断如果在每一行的第一个数或者最后一个数都赋值为1(这个大家都能发现)
                      arg[i][j]=1;
            }else {
             arg[i][j]= arg[i-1][j-1] + arg[i-1][j];       //核心部分,相信大家看的懂
             System.out.print(" ");
          }
              System.out.print(arg[i][j]+"");
     }
     System.out.println();  //换行符
}
}
 }

OK了

猜你喜欢

转载自blog.csdn.net/qq_36547531/article/details/82151987