算法學習——遞推之楊輝三角

算法描述

楊輝三角算法

算法思路

  1. 將楊輝三角當作一個二維數組,開頭和末尾都爲1數組

  2. 第一行和第二行已經被前面的1給賦值了,因此咱們直接從第三行開始賦值,a[2][1]開始,由於下標是從0開始的,a[2][1] = a[1][0]+a[1][1],也就是等於2,依次遞推下去code

  3. 打印(for循環),每打印出一行則換一行,System.out.printlnblog

個人打印處理沒有處理好,若是數組有兩位數,打印出來就不是很美觀for循環

算法實現

Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    int[][] a = new int [n][n];
    
    //初始化條件,頭部和尾部都是爲1
    for(int i=0;i<n;i++){
        a[i][0]=1;
        a[i][i]=1;
    }
    
    //第3行開始,下標爲2
    for(int i=2;i<n;i++){
        //列從第二個開始,到倒數第二個,下標爲1到n-1
        for(int j=1;j<n-1;j++){
            a[i][j] = a[i-1][j-1]+a[i-1][j];
        }
    }
    
    for(int i=0;i<n;i++){
        
        //畫開頭空格
        for(int m=n-i-1;m>0;m--){
            System.out.print(" ");
        }
        
        for(int j=0;j<=i;j++){
            System.out.print(a[i][j]+" ");
        }
    
        System.out.println(""); //一行結束換行
        }

結果

相關文章
相關標籤/搜索