2 3
1 1 1 1 1 1 1 2 1
分析:杨辉三角有如下规律( i 行 j 列 )
1、从 n * n 矩阵的角度看( i 行 j 列 ,行列数都从 1 开始)
f ( i , 1 ) = 1 ( i > 0 )
f ( i , j ) = f ( i - 1 , j ) + f ( i - 1 , j - 1 ) ( j > 1 && j <= i )
2、根据 f ( i , j ) = f ( i - 1 , j ) + f ( i - 1 , j - 1 ) 这条规律,解题时可以考虑使用一维数组,第 i 行,数组下标从 i 递减到 1 ,数组元素循环执行 T ( i ) += T ( i - 1 ),这样就可以得到第 i 行的结果
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] triangle = new int[30]; while (scanner.hasNext()) { int n = scanner.nextInt(); Arrays.fill(triangle, 0); triangle[0] = 1; for (int i = 0; i < n; i++) { System.out.print(1); for (int j = i; j != 0; j--) { triangle[j] += triangle[j - 1]; } for (int j = 1; j <= i; j++) { System.out.print(" " + triangle[j]); } System.out.println(); } System.out.println(); } } }
[hdu 2032] 杨辉三角,布布扣,bubuko.com
原文:http://blog.csdn.net/u011506951/article/details/24133389