[Visual Basic 6.0] 簡單解巴斯卡三角形 (講義版 含程式碼)

摘要:[Visual Basic 6.0] 簡單解巴斯卡三角形 (講義版 含程式碼)

[Visual Basic 6.0] 簡單解巴斯卡三角形 (講義版 含程式碼)

 

何謂巴斯卡三角形 (?)

楊輝三角形,又稱賈憲三角形帕斯卡三角形海亞姆三角形,是二項式係數三角形中的一種幾何排列。

楊輝三角形同時對應於二項式定理的係數。n次的二項式係數對應楊輝三角形的n+1行。例如在\left(a+b\right)^{2}=a^{2}+2ab+b^{2}中,2次的二項式正好對應楊輝三角形第3行係數1 2 1。

http://zh.wikipedia.org/wiki/%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92%E5%BD%A2

 

該怎麼用 VB 繪製巴斯卡三角形 (?)

 

 


Private Sub Form_Activate()
我是輸入值 = Val(10) ' 設 我是輸入值 變數 為 要輸入的數字

ReDim 我是二維陣列(我是輸入值 + 1, 我是輸入值 + 1)  ' 重新宣告陣列 ReDim 變數 我是二維陣列
' 維數為 輸入值 + 1 * 輸入值 + 1
' (第一個陣列 0 , * 開 為初始值使用)

我是二維陣列(0, 1) = 1 ' (0 , 1) 為 初始值 (設輸入值 = 0 輸出要 = 一個 1)

For I = 1 To 我是輸入值 + 1 ' 雙迴圈 一個跑 二維陣列的 X 一個跑 Y
        Print Spc(60 - I); ' 前面的空格 Spc ( 空格數 ) 為 輸出空格函數
    For J = 1 To I
        '設 X = I , Y = J 來跑二維陣列
    
        我是二維陣列(I, J) = 我是二維陣列(I - 1, J) + 我是二維陣列(I - 1, J - 1)
        
        ' 設 I , J = 1 , 1 時 我是二維陣列 (1 , 1) = 我是二維陣列(1 - 1, 1) + 我是二維陣列(1 - 1, 1 - 1)
        ' = 我是二維陣列 (1 , 1) = 我是二維陣列( 0, 1 ) + 我是二維陣列( 0, 0) <= 一開始設 0,1 為 1 0,0 是 空的
        ' 所以 我是二維陣列(1, 1) = 1
        
        ' 設 I , J = 1 , 2 時 我是二維陣列 (1 , 2) = 我是二維陣列(1 - 1, 2) + 我是二維陣列(1 - 1, 2 - 1)
        ' = 我是二維陣列 (1 , 2) = 我是二維陣列(0,2) + 我是二維陣列(0,1) <= 一開始設 0,1 為 1 0,2 是 空的
        ' 所以 我是二維陣列(1, 2) = 1
        
        Print 我是二維陣列(I, J); ' 印出目前的結果 設 I = 2 的時候答案為 1 2 1 輸出方式為 => 先印 1 次印 2 在印 3
    Next J
        
        Print Spc(11 - I); "N = " & I - 1 ' 輸出 N = 目前跑到的值 並換行
Next I

End Sub

巴斯卡三角形.rar

#0xDe 從分享中學習

#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問