1
A
回答
10
最簡單的方法是寫一個循環,如:
int is_prime(int num)
{
if (num <= 1) return 0;
if (num % 2 == 0 && num > 2) return 0;
for(int i = 3; i < num/2; i+= 2)
{
if (num % i == 0)
return 0;
}
return 1;
}
然後,您可以優化它,迭代到floor(sqrt(num))
。
3
+0
我在這裏實現了它:http://gsamaras.wordpress.com/code/eratostheness-sieve-c/ – gsamaras 2014-08-29 21:32:09
3
的最快的方法是預先計算了一下陣列(表示黃金/非高峯)在你感興趣的範圍內的所有可能的整數。對於32位無符號整數,這是隻有512M,這將很容易適應現代的地址空間(即使沒有,它也會快速查找文件)。
這幾乎肯定會比每次都通過篩子計算得更快。
相關問題
- 1. 如何輕鬆測試android
- 2. 如何輕鬆地使用CodeIgniter進行單元測試?
- 3. 如何在製作網站時輕鬆測試POST?
- 4. 如何輕鬆測試Yii模型中的文件上傳?
- 5. 如何使用'runserver'輕鬆測試與Django的https連接?
- 6. 如何輕鬆創建Java字節碼相關回歸測試?
- 7. 使用emacs輕鬆測試HTML
- 8. vmware如何輕鬆安裝?
- 9. 如何輕鬆檢測2個ROI是否與OpenCv相交?
- 10. 如何輕鬆隨機化數組?
- 11. 如何輕鬆打印數組?
- 12. jQuery.ajax:我如何輕鬆發送數據?
- 13. 如何輕鬆地模塊化Javascript,如C/C++
- 14. 如何輕鬆地在VHDL測試平臺組和驅動信號
- 15. 僅在Compling測試時Maven循環依賴 - 如何輕鬆解決?
- 16. 如何在C++中輕鬆格式化數據表?
- 17. 如何輕鬆地將函數應用於C++中的集合
- 18. 如何輕鬆地從字符串數組在C#
- 19. 輕鬆插入重複的MySQL測試數據?
- 20. javascript:測試如果this.name ==數組元素
- 21. 如何輕鬆地可視化矩陣?
- 22. 使用輕靈還是不輕鬆?
- 23. 如何輕鬆測試Spring.io Web服務教程示例!與JavaScript或AJAX或
- 24. 如何輕鬆地跨多個平臺進行黑盒自動化測試?
- 25. 如何設計一個應用程序,以便使用單元測試輕鬆進行測試?
- 26. 如何測試,如果函數A被調用的測試函數B內,如果它被稱爲異步
- 27. 如何輕鬆檢測sqlite3中的觸發深度?
- 28. `esprima` AST樹:如何輕鬆檢測和添加功能parens?
- 29. 如何輕鬆檢測矩形/圖像內部的點擊?
- 30. 字符串操作,如何輕鬆提取HTML元素值?
[Duplicate 1](http://stackoverflow.com/questions/4541415/haskell-prime-test)&[Duplicate 2](http://stackoverflow.com/questions/2586596/fastest-algorithm-for- primality-test)&[Duplicate 3](http://stackoverflow.com/questions/3755789/fastest-prime-test-for-small-ish-numbers) – 2011-03-12 09:49:17
另請參見:http://en.wikipedia.org/ wiki/Prime_Number #Test_primality_and_integer_factorization – 2011-03-12 09:51:51
我將它標記爲重複。 – vissi 2011-03-12 09:53:03