群里有人问如何只用1维数组来完成杨辉三角,便写了下来,写的比较乱~!
package Test17;
import java.util.*;
public class Test17 {
static int n=6;
static int[] arr=new int[(n+1)*n/2];
public static void aa(int n){
if(n>1){
aa(n-1);
arr[n*(n-1)/2]=1;
arr[n*(n+1)/2-1]=1;
// System.out.println((n*(n-1)/2)+"/t"+(n*(n+1)/2-1));
}
if(n>=3){
for(int i=1;i<n-1;i++){
arr[n*(n-1)/2+i]=arr[(n-2)*(n-1)/2+i-1]+arr[(n-2)*(n-1)/2+i];
}
}
if(n==1){
arr[0]=1;
}
}
public static void main(String[] args){
aa(n);
for(int i=1;i<=n;i++){
for(int j=i*(i-1)/2;j<=i*(i+1)/2-1;j++){
System.out.print(arr[j]+"/t");
}
System.out.println();
}
}
}