藍橋杯練習(xí)集-基礎(chǔ)練習(xí) 楊輝三角形 BASIC-6

問題描述

??????楊輝三角形又稱Pascal三角形,它的第i+1行是(a+b)i的展開式的系數(shù)?! ?br> ??????它的一個重要性質(zhì)是:三角形中的每個數(shù)字等于它兩肩上的數(shù)字相加?!?br> ??????下面給出了楊輝三角形的前4行:

                 1 
                1 1 
               1 2 1 
              1 3 3 1

??????給出n,輸出它的前n行。

輸入格式

輸入包含一個數(shù)n。

輸出格式

輸出楊輝三角形的前n行。每一行從這一行的第一個數(shù)開始依次輸出,中間使用一個空格分隔。請不要在前面輸出多余的空格。

樣例輸入

4

樣例輸出

1
1 1
1 2 1
1 3 3 1

數(shù)據(jù)規(guī)模與約定

1 <= n <= 34。

個人代碼

#include <iostream>
#include <cstdio>

using namespace std;

int n;
int a[35][36];

int main(){
    a[0][0]=1;
    while(~scanf("%d",&n)){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                a[i][j]=a[i-1][j]+a[i-1][j-1];
                printf("%d ",a[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
} 

思路解析

a[i][0] a[i][1] a[i][2] a[i][3] a[i][4] a[i][5] ...
i=0 1
i=1 1
i=2 1 1
i=3 1 2 1
i=4 1 3 3 1
i=5 1 4 6 4 1
...

題目已經(jīng)給出n的范圍,1<=n<=34.
通過初步分析,可以得到每一個值的遞推關(guān)系式:a[i][j]=a[i-1][j]+a[i-1][j-1]
為了方便首行與每一行的首列,末列的計算,申請一個有兩列空白與一行空白的數(shù)組,方便了每一個值的處理,并且將a[0][0]賦為1,可以避免單獨對第一行處理.

  • Made By IDmeforever
  • 2018/2/1
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容