C語言高效程式設計的四大祕技之數學方法解決問題

無名_四葉草發表於2020-04-05

轉自:http://tech.163.com/06/1201/10/318HH45C00091KVA.html

第2招:數學方法解決問題

現在我們演繹高效C語言編寫的第二招——採用數學方法來解決問題。

數學是計算機之母,沒有數學的依據和基礎,就沒有計算機的發展,所以在編寫程式的時候,採用一些數學方法會對程式的執行效率有數量級的提高。

舉例如下,求 1~100的和。

方法E

int I , j;
for (I = 1 ;I<=100; I ++){
    j += I;
}
方法F

int I;
I = (100 * (1+100)) / 2

這個例子是我印象最深的一個數學用例,是我的計算機啟蒙老師考我的。當時我只有小學三年級,可惜我當時不知道用公式 N×(N+1)/ 2 來解決這個問題。方法E迴圈了100次才解決問題,也就是說最少用了100個賦值,100個判斷,200個加法(I和j);而方法F僅僅用了1個加法,1 次乘法,1次除法。效果自然不言而喻。所以,現在我在程式設計序的時候,更多的是動腦筋找規律,最大限度地發揮數學的威力來提高程式執行的效率。

相關文章