Java案例:实现杨辉三角
前言
本篇文章我将讲述使用Java实现杨辉三角的实现,而且可以根据用户输入的正整数输出指定行数的杨辉三角。
一、杨辉三角是什么?
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
如果大家想要了解更多的详细信息,可以查看百度的相关解释以及其他的相关知识:链接如下:
图示如下:
二、解题思路
- 因为这个杨辉三角涉及到行与列,所以需要使用二维列表
- 其次我们需要考虑杨辉三角的相关特性:
- 首先每一行的第一个和最后一个元素都是1
- 其次处于首尾之间的元素的值都是与同列的上一个元素和左上角的元素有关的,具体关系如下:
// arr为二维数组,i为行,j为列
arr1[i][j] = arr1[i - 1][j] + arr1[i - 1][j - 1];
三,代码实现
/*
案例题目:
根据用户输入的行数n输出对应行数的杨辉三角
*/
import java.util.Scanner;
public class ArrayTriTest {
public static void main(String[] args) {
// 1.提示用户输入一个正整数行数
System.out.println("请输入一个正整数的行数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
// 2.申请一个二维数组
int[][] arr1 = new int[num][];
// 3.初始化二维数组
for(int i = 0; i < arr1.length; i++) {
arr1[i] = new int[i + 1];
for(int j = 0; j < i + 1; j++) {
if(0 == j || i == j) {
arr1[i][0] = arr1[i][i] = 1;
} else {
arr1[i][j] = arr1[i - 1][j] + arr1[i - 1][j - 1];
}
}
}
System.out.println("\n========================================");
// 4.打印输出二维数组的所有元素
for(int i = 0; i < arr1.length; i++) {
for(int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j] + "\t");
}
System.out.println();
}
}
}
总结
好了,到这里就已经用Java实现了杨辉三角的功能,如果有什么问题的小伙伴可以留言讨论,我们一起学习进步,记录Java的点点滴滴。