美文网首页
【算法】- 二维数组 杨辉三角

【算法】- 二维数组 杨辉三角

作者: lconcise | 来源:发表于2019-03-26 15:32 被阅读0次
/**
 * 二维数组杨辉三角
 */
public class MainDemo {

    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //这个n的数据来自于键盘录入。
        System.out.println("请输入一个数据:");
        int n = sc.nextInt();

        //定义二维数组
        int[][] arr = new int[n][n];

        //给这个二维数组任何一行的第一列和最后一列赋值为1
        for (int x = 0; x < arr.length; x++) {
            arr[x][0] = 1; //任何一行第1列
            arr[x][x] = 1; //任何一行的最后1列
        }

        //按照规律给其他元素赋值
        //从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。
        for (int x = 2; x < arr.length; x++) {
            //这里如果y<=x是有个小问题的,就是最后一列的问题
            //所以这里要减去1
            //并且y也应该从1开始,因为第一列也是有值了
            for (int y = 1; y <= x - 1; y++) {
                //每一个数据是它上一行的前一列和它上一行的本列之和。
                arr[x][y] = arr[x - 1][y - 1] + arr[x - 1][y];
            }
        }

        //遍历这个二维数组。
        for (int x = 0; x < arr.length; x++) {
            for (int y = 0; y <= x; y++) {
                System.out.print(arr[x][y] + "\t");
            }
            System.out.println();
        }
    }
}

相关文章

网友评论

      本文标题:【算法】- 二维数组 杨辉三角

      本文链接:https://www.haomeiwen.com/subject/kmdnmqtx.html