Java程序打印Pascal的三角形

帕斯卡(Pascal)的三角形是教给工程专业学生的经典范例之一。它有很多解释。著名的例子之一是它与二项式方程式一起使用。

三角形之外的所有值均视为零。第一行是0 1 0,而只有1获得Pascal三角形中的空格,0是不可见的。通过添加(0 + 1)和(1 + 0)获得第二行。输出夹在两个零之间。该过程一直持续到达到所需的级别。


算法

  • 进行多行打印,n。

  • 进行n次外部迭代以打印行。

  • 对J进行内部迭代到(N-1)。

  • 打印单个空格“”。

  • 封闭内循环。

  • 对J到I进行内部迭代。

  • 打印I和J的nCr。

  • 封闭内循环。

  • 每次内部迭代后打印NEWLINE字符。

示例


public class PascalsTriangle {
   static int factorial(int n) {
      int f;

      for(f = 1; n > 1; n--){
         f *= n;
      }
      return f;
   }
   static int ncr(int n,int r) {
      return factorial(n) / ( factorial(n-r) * factorial(r) );
   }
   public static void main(String args[]){
      System.out.println();
      int n, i, j;
      n = 5;

      for(i = 0; i <= n; i++) {
         for(j = 0; j <= n-i; j++){
            System.out.print(" ");
         }
         for(j = 0; j <= i; j++){
            System.out.print(" "+ncr(i, j));
         }
         System.out.println();
      }
   }
}

输出结果

             1
          1     1
        1    2    1
      1    3   3     1
   1    4     6    4    1
1   5   10     10    5    1