杨辉三角

杨辉三角

  public static void printArray(int[][] arr)
    {
        for(int i = 0; i < arr.length; i++)
        {
            for(int j=0; j<arr[i].length; j++)
            {
                System.out.print(arr[i][j]+"\t");
            }

            System.out.println();

        }
    }
    public static void main(String[] args) {
//        分析:看这种图像的规律
//        A:任何一行的第一列和最后一列都是1
//        B:从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。
//        6
//        1
//        1  1
//        1  2  1
//        1  3  3  1
//        1  4  6  4  1
//        1  5 10 10  5  1
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入行数");
        int row = scanner.nextInt();

        int[][] array = new int[row][];

        //循环生成的每一行
        //        A:任何一行的第一列和最后一列都是1
//        B:从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。
        for(int i = 0; i < array.length; i++)
        {
            array[i] = new int[i+1];//给二维数组里的第二个数组定长度
            array[i][0] = 1;//第一列设置成1
            array[i][i] = 1;//最后一列设置成1
            if(i > 1)//从第三行开始
            {
                for(int j = 1; j <= i-1; j++)
                {
                    array[i][j] = array[i-1][j]/*上一行的本列*/ + array[i-1][j-1]/*上一行的前一列*/;
                }
            }

        }

        printArray(array);
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概念 一边循环一边计算的机制,称为生成器:generator。 题目 杨辉三角定义如下: 1 1 1 1 2 ...
    快乐的杀马特阅读 791评论 0 0
  • 早上做梦梦到学长【现在这样叫他感觉怪怪的】情节还蛮丰富 牵手呀 感动的话 等待呀 等等 都有 记在evernote...
    喜欢你呀阅读 233评论 0 0
  • 妈的,自己太优柔寡断了,不要安慰自己思虑周详,改下决心的时候就下。不然后悔莫急。有时候太充动,有时候太怂。要么只占...
    万俟遴阅读 233评论 0 0
  • 这个世界似乎什么都要求要变得和别人一样。可是如果人人都一样,又似乎少了很多乐趣。 在我们小的时候,总是有很多人跟我...
    棕酱阅读 333评论 0 1
  • 今日关键词:【优秀】 上周四去HG法院开庭,正好赶上法官是该院的副院长。副院长亲力亲为审理本案,一下午2个多小时的...
    罗艺律师阅读 489评论 0 0