您的位置:首页 > 其它

打印杨辉三角

2012-03-05 21:14 197 查看
【题目要求】

在屏幕上打印出一个n阶杨辉三角。

第一种形式:


【代码】

public class Ta {
public static void main(String[] args){
Scanner str = new Scanner(System.in);
int n = str.nextInt();
int i,j,k;
int[] buf= new int[n+1];
int[] tmp= new int[n+1];
for(i=0;i<=n;i++){
if(i==0){
System.out.print(1);

}else if(i==1){
System.out.print("1"+"\t"+"1");
buf[0]=1;
buf[1]=1;
tmp[0]=1;
tmp[1]=1;
}else{
for(j=1;j<=i+1;j++){
if(j==1||j==i+1){
System.out.print(1+"\t");
tmp[j-1]=1;
}else{
System.out.print(buf[j-1]+buf[j-2]+"\t");
tmp[j-1]=buf[j-2]+buf[j-1];
}
}
}
System.out.println();
for(k=0;k<n+1;k++){
buf[k]=tmp[k];
}
}
}
}

第二种形式:


public class ArrayList {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int y=s.nextInt();
int k[][]=new int[y+1][y*2+1];
k[0][y]=1;
for(int i=1;i<y+1;i++){
for(int j=1;j<y*2;j++){
k[i][j]=k[i-1][j-1]+k[i-1][j+1];
}
}
k[y][0]=1;
k[y][2*y]=1;
for(int i=0;i<y+1;i++){
for(int j=0;j<y*2+1;j++){
System.out.print(k[i][j]==0?"    ":
k[i][j]<10?"   "+k[i][j]:k[i][j]<100?"  "+k[i][j]:" "+k[i][j]);
}
System.out.println();
}
}
}


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string class