用java输出杨辉三角变量(指针变量输出杨辉三角)

什么是杨辉三角?

杨辉三角,又称贾宪三角、帕斯卡三角,是二项式系数在三角形中的一种排列。在杨辉三角中,每个数等于上方两数之和。它以法国数学家布莱斯·帕斯卡命名,其实在中国,杨辉三角早在13世纪杨辉即已发现并使用,故中国又称杨辉三角。

用java输出杨辉三角变量(指针变量输出杨辉三角)

杨辉三角最简单的形态如下:

       1
      1 1
     1 2 1
    1 3 3 1
   1 4 6 4 1

Java语言输出杨辉三角

要用Java语言输出杨辉三角,需要先了解二项式系数的计算方法。使用组合数公式C(n,i) = n! / (i! * (n-i)!),其中n为行数,i为列数。可以先定义一个二维数组,用两个for循环来确定每个元素的值。代码如下:

public class YangHuiTriangle {
    public static void main(String[] args) {
        int[][] triangle = new int[10][];
        for (int i = 0; i < triangle.length; i++) {
            triangle[i] = new int[i + 1];
            for (int j = 0; j <= i; j++) {
                if (j == 0 || j == i) {
                    triangle[i][j] = 1;
                } else {
                    triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
                }
                System.out.print(triangle[i][j] + " ");
            }
            System.out.println();
        }
    }
}

上述代码的功能是输出杨辉三角的前10行。结果如下:

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 

优化杨辉三角的输出

为了让输出结果更美观,可以使用格式化输出。在上述代码中,将输出语句System.out.print(triangle[i][j] + " ")改为System.out.printf("%3d", triangle[i][j]),其中%3d表示输出一个整数,宽度为3。代码如下:

public class YangHuiTriangle {
    public static void main(String[] args) {
        int[][] triangle = new int[10][];
        for (int i = 0; i < triangle.length; i++) {
            triangle[i] = new int[i + 1];
            for (int j = 0; j <= i; j++) {
                if (j == 0 || j == i) {
                    triangle[i][j] = 1;
                } else {
                    triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
                }
                System.out.printf("%3d", triangle[i][j]);
            }
            System.out.println();
        }
    }
}

这时候输出结果如下:

  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 126126 84 36  9  1 

可以发现,输出结果更整齐,更易于观察每个数字的位置。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javapeixunft.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月25日 上午5:07
下一篇 2023年4月25日 上午5:07

猜你喜欢