import java.util.Scanner;
public class 杨辉三角 {
public static void main(String[] args) {
int j,k,i,a[],b[];
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("
");
//↑↑↑↑↑↑↑↑↑↑输出↑↑↑↑↑↑↑↑↑↑↑//
}
}
}
用一维数组解题目可以节省大量存储空间
结果:
(a+b)^3
1
1 1
1 2 1
1 3 3 1