列印楊輝三角形

2021-10-12 06:00:23 字數 2224 閱讀 1155

***知識點:二維陣列下標的運用與楊輝三角的理解。

楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡(1623----1662)是在2023年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。楊輝三角是中國古代數學的傑出研究成果之一,它把二項式係數圖形化,把組合數內在的一些代數性質直觀地從圖形中體現出來,是一種離散型的數與形的結合 。

做這道題時首先我們要知道什麼是楊輝三角,然後再來分析如何把對題理解轉換為**,而這題正好需要二維陣列,因此我們慢慢來分析。

引入資料

11 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

以上資料便是楊輝三角的另一種形式,因為這樣,才能讓大家更容易的找到規律並理解。

藍色線條表示指向,紅色線條表示左右兩數相加。

分析:

可以發現,每一列的元素都是 1 。

每個數等於它上方兩數之和:從第二行第二列開始,就是元素 1,等於上兩個數的和(1+0)。

第n行的數字有n項。(第一行只有元素 1 )

圖形分析完畢,引入二維陣列定義。

我們都知道,一維陣列元素的下標都是從0開始的,那麼必然二維陣列的下標即是從開始。

根據**,圖形中元素0是不顯示出來的,但我們必須賦初值0給陣列。只有這樣,計算機才能得到乙個初始值,進行後面的迴圈累加。

int arr[10]

[10]=

;

第一列的元素都為1,也就是每一行的第乙個元素都是1,那麼直接用迴圈將其賦為1。

for

(int i =

0; i <

10; i++

) arr[i][0

]=1;

接下來,進行迴圈累加,我們知道,每個數等於上兩數之和。

那麼在上面的**中,第二行第二列(2,2)的元素 1 等於第一行第一列(1,1)的元素 1 加第一行第二列(1,2)。

因此我們將這句話轉換為計算機語言:arr[1][1]=arr[0][0]+arr[0][1]。

那麼放到迴圈中,便是下圖所示:

for

(int i =

1; i <

10; i++

)for

(int j=

1;j<

10;j++

)

**演示

#include

using

namespace std;

intmain()

;for

(int i =

0; i <

10; i++

) arr[i][0

]=1;

for(

int i =

1; i <

10; i++

)for

(int j=

1;j<

10;j++

)for

(int i =

0; i <

10; i++

)return0;

}

執行結果

#include

#include

using

namespace std;

intmain()

;for

(int i =

0; i < n; i++

)for

(int i =

2; i < n; i++

)int p;

for(

int i =

0; i < n; i++

) cout << endl;

}return0;

}

列印楊輝三角形

列印楊輝三角形 1000 ms 10000 kb 3016 15287 楊輝三角形具有如下特徵 1 每行數字左右對稱,由1開始逐漸變大,然後變小,回到1。2 第n行的數字個數為n個。3 第n行數字和為2 n 1 4 每個數字等於上一行的左右兩個數字之和。可用此性質寫出整個帕斯卡三角形。5 將第2n ...

列印楊輝三角形

列印楊輝三角形 楊輝三角形就是呈現金字塔型的結構 每個的數字表示式為 a n,x a n 1,x a n 1,x 1 結構如下 11,1 1,2,1 1,3,3,1 1,4,6,4,1 解題思路 迴圈列印的行數,由於對稱型每行的資料型別可以只計算一半,後面的一半完全對折過來。上 public sta...

楊輝三角形

關於楊輝三角的論述 問題描述 楊輝三角形又稱pascal 三角形,它的第 i 1行是 a b i 的展開式的係數。它的乙個重要性質是 三角形中的每個數字等於它兩肩上的數字相加。下面給出了楊輝三角形的前4行 1 11 2 1 1 3 3 1 給出n,輸出它的前n行。輸入格式 輸入包含乙個數n。輸出格式...