Java之打印杨辉三角

//杨辉三角
public class TriangleArray {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 final int NMAX = 10; 
		 
	      // 分配三角形的数组
	      int[][] odds = new int[NMAX + 1][];
	      for (int n = 0; n <= NMAX; n++) {
	    	odds[n] = new int[n + 1];  
	      }
	 
	      // 填补三角形的数组
	      for (int n = 0; n < odds.length; n++) {
	    	  for (int k = 0; k < odds[n].length; k++) {
	            /*
	             * 计算二项式系数: n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)
	             */
	            int lotteryOdds = 1;
	            for (int i = 1; i <= k; i++) {
	            	  lotteryOdds = lotteryOdds * (n - i + 1) / i;
	            }
	            odds[n][k] = lotteryOdds;
	         }
	      }
	         
	      //打印三角形的数组
	      for (int[] row : odds){
	         for (int odd : row) {
	        	   System.out.printf("%4d", odd);
	         }
	         System.out.println();
	      }
	}
}

运行结果图:

猜你喜欢

转载自blog.csdn.net/qq_38225558/article/details/81664595