C 程式設計 楊輝三角

2021-09-26 14:48:20 字數 1459 閱讀 3429

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

楊輝三角的特點:

(與上圖中的n不同,這裡第一行定義為n=1)

每個數等於它上方兩數之和。

每行數字左右對稱,由1開始逐漸變大。

第n行的數字有n項。

前n行共[(1+n)n]/2 個數。

第n行的m個數可表示為 c(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。

第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。

每個數字等於上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第n+1行的第i個數等於第n行的第i-1個數和第i個數之和,這也是組合數的性質之一。即

c(n+1,i)=c(n,i)+c(n,i-1)。

(a+b)n的展開式中的各項係數依次對應楊輝三角的第(n+1)行中的每一項。

將第2n+1行第1個數,跟第2n+2行第3個數、第2n+3行第5個數……連成一線,這些數的和是第4n+1個斐波那契數;將第2n行第2個數(n>1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。……

第一種實現形式:

【二維陣列實現楊輝三角 輸出10行】

#include #include using namespace std;

/*楊輝三角最終顯示效果是乙個等腰三角形,兩個最外邊都是1

楊輝三角的根本在於,每個數等於它上方兩數之和

*/int main()

int* yanghuidata(int n)

訪問資料的方式:直接通過a[i][j]訪問第i行第j列的資料。

優缺點:通過a[i][j]訪問資料容易,但是new的次數太多,釋放空間不容易。

方法二:

定義方式:

int *p=new int[10*10];(ps:這種事當成一維陣列連續開闢的。)

訪問資料的方式:通過a[i*10+j]來訪問第(i*10+j)個資料。

優缺點:訪問資料很方便,且new的次數少,釋放空間容易,但是不便於理解。

*圖例:(看&p[9]和&p[10]等位址相差為4個位元組,即它們是相連的,所以為一維陣列)

c 楊輝三角

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。分析 我們知道,楊輝三角,實質上就是乙個二維陣列,只是它呈現出乙個三角形而已,並且它有乙個規律,就是第一行乙個,第二行二個,第三行三個,這就意味著我們要開闢乙個動態增長的二維陣列,而動態二維陣列的開闢,是首先開闢它的行,再去開闢...

python楊輝三角 楊輝三角I II

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...

C語言程式設計 列印楊輝三角

在做這道題時首先要觀察楊輝三角的規律 11 1 1 2 1 1 3 3 1 1 4 3 4 1 可以看出 1.每行的數字個數與所處行數相等 2.除去每行第乙個和最後乙個數字唯一,其他數字都等於頭頂元素加頭頂前乙個元素 源 include includevoid printy int length,i...