打印杨辉三角

2018/08/13 Offer 共 629 字,约 2 分钟

/*
打印杨辉三角(行数可以键盘录入)
1
1 1	
1 2 1
1 3 3 1
1 4 6 4 1 
1 5 10 10 5 1
任何一行的第一列和最后一列都是1
从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和
*/

import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class c3 {
    static void yangHuiSanJiao(int n){
        int[][] d=new int[n][];
        for(int i=0;i<n;i++){
            d[i]=new int[i+1];
            for(int j=0;j<d[i].length;j++){
                if(i==0||j==0||i==j){
                    d[i][j]=1;
                }else{
                    d[i][j]=d[i-1][j]+d[i-1][j-1];
                }
                System.out.print(d[i][j]+" ");
            }
            System.out.println();
        }
    }
    public static void main(String[] args){

        Scanner in=new Scanner(new BufferedInputStream(System.in));
        while (in.hasNext()){
            int n=in.nextInt();
            yangHuiSanJiao(n);
        }
    }
}

Search

    Table of Contents