小屋創作

日誌2015-11-29 17:16

【VB】關於質數這玩意兒

作者:小YA

題目說明:輸入一正整數N,求出介於≦N的所有質數。

程式分析:這題是剛學習程式語言時都會遇到的一道經典題,而第一個想到的解題方法不外乎就是採用暴力解(意指從2到N,每個値都從2開始除到sqrt(i),看有沒有可以整除的値在判斷),不過這邊我不採用這種解法,而是使用Sieve of Eratosthenes演算法,並計算該演算法與暴力解之效率差別。

-核心程式碼

(在Sieve of Eratosthenes質數表的部份我沒有進行Boolean陣列重置的動作,因為這樣可降低執行上的時間)

-執行結果
以輸入777777而言,暴力解的速度就足足慢了約22倍

那麼在來試試更大一點的値:7777777,面對越大的値,暴力解的速度也顯得非常沒有效率,而這次暴力解的速度約為SoE質數表的73倍之慢...



最後附上Sieve of Eratosthenes相關資料

2

4

LINE 分享

相關創作

群狼之證2 • 新參賽者 • 克里斯蒂亞諾·羅納度

聖托里尼 萬神殿豪華版 開箱+介紹

【yotoo】250329

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】