摘要:[Visual Basic 6.0] 簡單解巴斯卡三角形 (講義版 含程式碼)
[Visual Basic 6.0] 簡單解巴斯卡三角形 (講義版 含程式碼)
何謂巴斯卡三角形 (?)
楊輝三角形,又稱賈憲三角形、帕斯卡三角形、海亞姆三角形,是二項式係數在三角形中的一種幾何排列。
楊輝三角形同時對應於二項式定理的係數。次的二項式係數對應楊輝三角形的行。例如在中,次的二項式正好對應楊輝三角形第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
#0xDe 從分享中學習
#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問