Los requisitos de la asignatura son los siguientes:
Código de implementación:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] a = new int[n*(n+1)/2]; //定义存放杨辉三角数的数组
int[] numstart = new int[n+1]; //在数组a当中每行第一个元素的索引
int[] numlast = new int[n+1]; //在数组a当中每行最后一个元素的索引
a[0]=1;
numstart[1]=0;
numlast[1]=0;
for(int i = 2;i<=n;i++)
{
numstart[i]=numstart[i-1]+i-1;
numlast[i]=numlast[i-1]+i;
}
for(int i =1;i<=n;i++) //初始化每行第一个和最后一个元素
{
a[numstart[i]]=1;
a[numlast[i]]=1;
}
for(int i = 1;i<=n;i++) //初始化每行其余元素
{
for(int j=numstart[i]+1;j<numlast[i];j++)
{
a[j]=a[j-i]+a[j-i+1];
}
}
for(int i = 1;i<=n;i++) //打印输出每行元素
{
for(int j = numstart[i];j<=numlast[i];j++)
System.out.printf("%4d",a[j]);
System.out.println();
}
}
}