之前已有PO過這樣的文章,思考的方向是如何以最少的迴圈執行次數來達成搜尋質數的目的,當時的程式現在看來還可以再增進執行效率

 

首先已確定偶數中除了2之外都不是質數,那只要搜尋奇數的部份就可以縮短時間,所以上一程式這部份是產生範圍內所有數值的陣列,這裡改成產生範圍內所有奇數數值的陣列

 

20100629-01  

 

 

後半段則和上一程式差不多沒有更改多少

20100629-02  

 

 

完成的程式

20100629-03  

 

20100629-04  

 

 

經過實際測試搜尋100萬內的質數,所需時間比上一程式少16%,效率已有明顯提升

 

※若電腦配備不夠好,記得不要嘗試搜尋幾萬以上的範圍內質數,程式會執行很久才有結果

,

未出師的小工程師 發表在 痞客邦 PIXNET 留言(0) 人氣()