用java编写,输入正整数n,打印带有n行的杨辉三角形
时间: 2025-04-08 12:34:49 浏览: 45
要用Java编写一个程序,输入正整数 n 后打印出带 n 行的杨辉三角形,我们可以利用二维数组或者直接通过计算组合数的方式来生成每一行的数据。这里给出基于组合数学公式的方式以及完整的代码示例。
首先需要了解的是,杨辉三角中的第 i 行 j 列元素可以用组合 C(i,j) 来表示(假设第一行是第0行),其中 C(i,j)=i!/[j!(i-j)!] 。下面展示了一个使用这种方法构建并输出杨辉三角的例子:
```java
import java.util.Scanner;
public class YangHuiTriangle {
// 计算组合数C(n,k)
private static long combination(int n, int k) {
if(k > n - k)
k = n - k;
long result=1;
for(int i=1;i<=k;i++){
result=result*(n-i+1)/i;
}
return result;
}
public static void printYanghui(int rows){
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(combination(i, j)+" ");
}
System.out.println();
}
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入要打印几行:");
int numLines=scanner.nextInt();
printYanghui(numLines);
scanner.close();
}
}
```
此段代码定义了一个函数 `combination()` 来求解组合数 C(i, j),并在主方法中接受用户输入作为行数限制,之后逐层构造并输出相应的杨辉三角内容。当您运行这段程序时,先提示用户输入想要显示多少行,随后按照指定格式打印对应的杨辉三角图形。
---
**范例输出**
假如输入为5,则应该看到如下的输出结构:
```
请输入要打印几行:
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
---
阅读全文
相关推荐

















