杨辉三角
杨辉三角是一个三角形的数组,如下所示
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
. . . . .
该数字三角形的最外层为1,内层数字为上一层本列和上一层前列两个数字之和,要想用Java语言打印出杨辉三角需要有如下思路:
1.该三角第一列和每行最后一个数字都为1;
2.从第三行起每行中间的数字都为上一行本列和上一行上一列数字之和;
其代码如下:
package yanghuiTriangle;
import java.util.Scanner;
public class yhTriangle {
public static void main(String[] args) {
**//创建键盘录入对象**
Scanner sc = new Scanner(System.in);
**//提示并录入对象**
System.out.println("您需要多少行的杨辉三角?");
int n = sc.nextInt();
**//定义一个二维数组**
int [][]arr=new int[n][n];
**//给每行第一个和最后一个数赋值为1**
for(int i=0;i<arr.length;i++) {
arr[i][0] = 1;
arr[i][i] = 1;
}
**//从第三行开始中间的数据等于上一行本列和上行前一列数字之和**
for(int i = 2;i<arr.length;i++) {
for(int j=1;j<i;j++) {
arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
}
}
**//把输出形式改为金字塔形式**
for(int i=0;i<arr.length;i++) {
for(int j=0;j<=i;j++ ) {
System.out.print(arr[i][j]+"\t");
}
System.out.println( );
}
}
}
该代码运行结果如下: