練習問題7.3
public class PascalsTriangle { private int pascal[][]; public PascalsTriangle(int num) { pascal = new int[num][]; for(int i=0,j=0;i<pascal.length;i++){ pascal[i] = new int[i+1]; pascal[i][j]=1; pascal[i][i]=1; } calc(); } public int[][] calc(){ for(int j=2;j<pascal.length;j++) for(int i=1;i<pascal[j].length-1;i++) pascal[j][i]=pascal[j-1][i-1]+pascal[j][i-1]; return pascal; } public void show(){ for (int[] array : pascal) { for (int i : array) System.out.printf(" %d ", i); System.out.println(); } } public static void main(String[] args) { PascalsTriangle pt = new PascalsTriangle(12); pt.show(); } }
実行結果
1
1 1
1 2 1
1 2 4 1
1 2 4 8 1
1 2 4 8 16 1
1 2 4 8 16 32 1
1 2 4 8 16 32 64 1
1 2 4 8 16 32 64 128 1
1 2 4 8 16 32 64 128 256 1
1 2 4 8 16 32 64 128 256 512 1
1 2 4 8 16 32 64 128 256 512 1024 1