题目:打印出杨辉三角形
程序分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
定义的是二维数组,为了使输出的结果看起来漂亮一点,可以用for(int k=0; k<2*(10-i)-1; k++)控制输出的空格,这个循环是在控制行数的循环里面,控制列数的循环外面。
1 package com.li.FiftyAlgorthm; 2 3 /** 4 * 题目:打印出杨辉三角形(要求打印出10行如下图) 5 1 6 1 1 7 1 2 1 8 1 3 3 1 9 1 4 6 4 1 10 1 5 10 10 5 1 11 * a[i][j]=a[i-1][j]+a[i-1][j-1] 就是这个程序的核心 12 * 13 * @author yejin 14 */ 15 public class YangTriangle { 16 public static void main(String[] args) { 17 int[][] a = new int[10][10]; 18 for (int i = 0; i < 10; i++) { 19 a[i][i] = 1; 20 a[i][0] = 1; 21 } 22 for (int i = 2; i < 10; i++) { 23 for (int j = 1; j < i; j++) { 24 a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; 25 } 26 } 27 28 for (int i = 0; i < 10; i++) { 29 for (int k = 0; k < 2 * (10 - i) - 1; k++) { 30 System.out.print(" "); 31 } 32 for (int j = 0; j <= i; j++) { 33 System.out.print(a[i][j] + " "); 34 } 35 System.out.println(); 36 } 37 } 38 }