java中的杨辉三角
本文主要介绍如何打印杨辉三角(直角三角形),如下图所示:
规律如下:
第一行全为1,对角线元素全为1,设i表示行标,j表示列标。
arr[i][0] = 1;
arr[i][i] = 1;
当i > 0,j > 0时,有如下迭代式
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
整体代码如下:
public class Five { public static void main(String[] args) { System.out.println("请输入需要打印的行数:"); Scanner scanner = new Scanner(System.in); int row = scanner.nextInt(); int [][] arr = new int [row][]; for(int i= 0;i<arr.length;i++) { arr[i] = new int [i+1]; arr[i][i] = 1; arr[i][0] = 1; 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<arr[i].length;j++) { System.out.print(arr[i][j]+"\t"); } System.out.println(); } } }
注意:在列数不确定情况下,一维数组在使用前,需要分配存储空间
arr[i] = new int [i+1];