不规则数组

JAVA打印出如下


   0
   0   1
   0   2   1
   0   3   3   1
   0   4   6   4   1
   0   5  10  10   5   1
   0   6  15  20  15   6   1
   0   7  21  35  35  21   7   1
   0   8  28  56  70  56  28   8   1
   0   9  36  84 126 126  84  36   9   1
   0  10  45 120 210 252 210 120  45  10   1


分析:


高度为11,宽度递增从1-11。

我们可以利用二维数组来打印,


首先初始化数组

                                final int NMAX = 10;
                                Int [][] odds = new int [NMAX + 1][];
                                数组为[null, null, null, null, null, null, null, null, null, null, null]

                               for (int i = 0; i <= NMAX; i++){
                                              odds[i] = new int[i + 1];
                                  }
                                 初始化二维数组[[0], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

 接下来就是替换数组内的值,
首先来观察规律,

根据规律:
           for (int n = 0; n < odds.length; n++){
                      for (int k = 0; k < odds[n].length; k++) {
                            int lotteryOdds = 1;
                                 for (int i = 1; i<= k; i++) {
                                       lotteryOdds = lotteryOdds * (n +1 - i) / i;
                                        odds[n][k] = lotteryOdds;
                                  }
                            }
                      }


完整程序如下
public class text89 {
 public static void main(String[] args) {
  
  final int NMAX = 10;
  int [][] odds = new int [NMAX + 1][];
  
  
  for (int i = 0; i <= NMAX; i++){
   odds[i] = new int[i + 1];
  }
  
  
  for (int n = 0; n < odds.length; n++){
   for (int k = 0; k < odds[n].length; k++) {
    int lotteryOdds = 1;
    for (int i = 1; i<= k; i++) {
      lotteryOdds = lotteryOdds * (n +1 - i) / i;
     odds[n][k] = lotteryOdds;
    }
   }
  }
  
  
  for (int[] ks : odds) {
   for (int ww : ks){
    System.out.printf("%4d",ww);
   }
   System.out.println();
  }
 }
}


猜你喜欢

转载自blog.csdn.net/qq_38930784/article/details/78819167