杨辉三角是一个数学上的三角形,它的每一行都是由二项式系数构成的。下面是一个简单的解释杨辉三角的过程:首先,第一行只有一个数1。接着,从第二行开始,每一行的两个端点都是1,中间的数是上一行两个相邻数的和。具体来说,第n行有n个数,第一个数和最后一个数都是1。中间的数可以通过上一行的数计算得到,即第n行第k个数等于第n-1行第k-1个数与第n-1行第k个数的和。
等腰三角形结构的杨辉三角实现:
System.out.print("请输入行数:");
Scanner scanner = new Scanner(System.in);
int num=scanner.nextInt();
int[][] yangHui=new int[num][num];
for (int i=0;i<num;i++) {
//1.输出空格
for(int j=0;j<num-i;j++) {
System.out.print(" ");
}
//2.给数组的元素赋值
for(int j=0;j<=i;j++) {
if(j==0||j==i) {//2.1给首末元素赋值
yangHui[i][j]=1;
System.out.print("1 ");
}else {//2.2给每行的非首末元素赋值
yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j];
System.out.print(yangHui[i][j]+" ");
}
}
System.out.println();
}
直角三角形杨辉三角实现:
int rows = 5;
int[][] triangle = new int[rows][];
for (int i = 0; i < rows; i++) {
triangle[i] = new int[i + 1];
triangle[i][0] = 1;
triangle[i][i] = 1;
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}