撰寫有執行效率的程式碼
有一個程式要求由1至10000累加求總和,一般看到這個需求時,很多開發人員一定會很直覺得使用 For 迴圈,由 1~10000 開始累計加總。
Dim N1 As Integer
iTotal = 0
For N1 = 1 To 10000
iTotal = iTotal + N1
Next
當然上述的寫法結果是正確的,可是有沒有更好更有效率的寫法嗎?答案是在你小學的時候,數學老師就已經告訴你了。
記得梯形面積的公式怎麼算吧?
梯形面積=(上底+下底)*高/2
我們改用「梯形面積」的公式來解上述的問題的程式碼如下,是不是更簡化而且有效率呢?
itotal = (1 + 10000) * (10000 - 1 + 1) / 2