什么是杨辉三角?
杨辉三角,又称贾宪三角、帕斯卡三角,是二项式系数在三角形中的一种排列。在杨辉三角中,每个数等于上方两数之和。它以法国数学家布莱斯·帕斯卡命名,其实在中国,杨辉三角早在13世纪杨辉即已发现并使用,故中国又称杨辉三角。
杨辉三角最简单的形态如下:
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小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!