Java程序打印帕斯卡三角形


在这篇文章中,我们将学习如何在Java中打印帕斯卡三角形。帕斯卡三角形是教授工程专业的学生的一个经典例子。它有很多解释。其中一个著名的解释是它与二项式方程式的关系。

三角形外部的所有值都被认为是零 (0)。第一行是 0 1 0,而帕斯卡三角形中只有 1 占据一个位置,0 是不可见的。第二行是通过相加 (0+1) 和 (1+0) 得到的。结果位于两个零之间。这个过程持续到达到所需的级别。

问题陈述

编写一个Java程序来打印帕斯卡三角形。

输入

 n=4

输出

打印帕斯卡三角形的步骤

以下是打印帕斯卡三角形的步骤:

  • 输入要打印的行数 n。
  • 使用for循环进行 n 次外循环迭代以打印行。
  • 进行内部迭代 j 到 (n - 1)。
  • 打印单个空格 " " 并关闭内循环。
  • 进行内部迭代 j 到 i。
  • 打印 i 和 j 的nCr,然后关闭内循环。
  • 每次内循环迭代后打印换行符。

Java程序打印帕斯卡三角形

以下是打印帕斯卡三角形的Java程序:

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   

代码解释

这个Java程序打印帕斯卡三角形,其中每个数字都是其上方两个数字的和。它首先定义一个factorial() 方法来计算一个数的阶乘。然后,ncr 方法使用它来计算三角形的组合。
main() 方法中,行数设置为 5,并初始化ij进行迭代。外循环遍历每一行。在这个循环内,打印空格以进行格式化,然后使用ncr 方法打印三角形的值。每行之后,程序移到下一行。

更新于:2024年9月16日

9K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告