☆ 有些事現在不做,就一輩子都不會做了 ☆

最新回應

有一個程式要求由1至10000累加求總和,一般看到這個需求時,很多開發人員一定會很直覺得使用 For 迴圈,由 1~10000 開始累計加總。

        Dim iTotal As Long
        Dim N1 As Integer

        iTotal = 0
        For N1 = 1 To 10000
            iTotal = iTotal + N1
        Next

當然上述的寫法結果是正確的,可是有沒有更好更有效率的寫法嗎?答案是在你小學的時候,數學老師就已經告訴你了。

記得梯形面積的公式怎麼算吧?

 

梯形面積=(上底+下底)*高/2

 

我們改用「梯形面積」的公式來解上述的問題的程式碼如下,是不是更簡化而且有效率呢?

        Dim iTotal As Long
        itotal = (1 + 10000) * (10000 - 1 + 1) / 2


關連文章

回應

  • bibby 2008/5/14 上午 02:10 回覆

    # re: 撰寫有執行效率的程式碼

    寫程式的人..八成數學都要好一點..
    很多時候公式是要用推出來的..^^||..


*標 題:

*姓 名:

 電子郵件: (將不會被顯示)

 個人網頁:

*回應

登入後使用進階評論

Please add 5 and 7 and type the answer here: