PTA 7-16 Yang Hui Triangle (JAVA)

Los requisitos de la asignatura son los siguientes:
Inserte la descripción de la imagen aquí
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();
        }
    }
}

Supongo que te gusta

Origin blog.csdn.net/m0_47470899/article/details/109681209
Recomendado
Clasificación