杨辉三角每个数等于它上方两数之和。
有两种显示情况
- 直角三角形显示
- 等腰三角形显示
直角三角形的展示出来了
// 1.声明并初始化二维数组 直接声明了长度为10
int[][] yangHui = new int[10][];
// 2.给数组的元素赋值
// 第0行 数组长1
// 第1行 数组长2
// 第2行 数组长3
// 第3行 数组长4 第i个数组的长度就是i+1
for (int i = 0; i < yangHui.length; i++) {
yangHui[i] = new int[i + 1];
// 2.1 给首末元素赋值
yangHui[i][0] = yangHui[i][i] = 1;
// 2.2 给每行的非首末元素赋值 从第二行开始
// if(i > 1){
for (int j = 1; j < yangHui[i].length - 1; j++) {
yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j];
}
// }
}
// 3.遍历二维数组
for (int i = 0; i < yangHui.length; i++) {
System.out.println(Arrays.toString(yangHui[i]));
}
//这个是输出的等腰三角形
for (int i = 0; i < yangHui.length; i++) {
int num = yangHui.length - i;
for (int j = 0; j <= num; j++) {
System.out.print(" ");
}
for (int k = 0; k <= i; k++) {
System.out.print(yangHui[i][k] + " ");
}
System.out.println();
}
总结
杨辉三角用二维数组做数据,设置好二维数组的长度,对里面赋值
显示的区别不大,直角的和等腰的显示区别就是先弄几个空格