一维数组高效率解决杨辉三角

import java.util.Scanner;
public class 杨辉三角 {
    public static void main(String[] args) {
           int j,k,i,a[],b[];java

       Scanner scanf = new Scanner(System.in);
        System.out.print("(a+b)^");
        int n=scanf.nextInt();
        a=new int[n+1];
        b=new int[n+1];
//↑↑↑↑↑↑↑变量的定义与输入↑↑↑↑↑↑↑↑//
        
        for (i=0;i<n+1;i++)
        { a[i]=1;
          b[i]=a[i];}
//↑↑↑↑↑↑↑↑↑数组初始化↑↑↑↑↑↑↑↑↑↑//
        
        for(i=-1;i<n;i++) {
            for(j=1;j<=i;j++)
                b[j]=a[j-1]+a[j];
            for(k=1;k<=i;k++)
                a[k]=b[k];
//↑↑↑↑↑↑↑↑↑核心算法↑↑↑↑↑↑↑↑↑↑//
            
            for(j=n-i;j>0;j--)
                System.out.print(" ");
            for(k =0;k<=i+1;k++)
                System.out.print(a[k] + " ");
            System.out.print("\n");
//↑↑↑↑↑↑↑↑↑↑输出↑↑↑↑↑↑↑↑↑↑↑//
        }
    }算法

}数组

用一维数组解题目能够节省大量存储空间class

结果:
(a+b)^3
    1
   1 1
  1 2 1
 1 3 3 1

import

相关文章
相关标签/搜索