sieve-of-atkin

    3熱度

    2回答

    我在嘗試解決Project Euler problem 10,要求用戶計算所有素數小於200萬的總和。我通過研究pseudocode on Wikipedia寫了下面的,但它產生的答案似乎是不正確的,至少根據網站每當我試着輸入:生成 int main() { int limit = 2000000; int answer = 5; std::vector<bool

    21熱度

    5回答

    我正在做一個項目,我需要一個有效的方法來計算素數。我已經使用sieve of Eratosthenes但是,我一直在四處搜索,發現sieve of Atkin是一種更有效的方法。我發現很難找到這種方法的解釋(我已經能夠理解!)。它是如何工作的?示例代碼(最好用C或python)很棒。 編輯:感謝您的幫助,我仍然不明白的唯一東西是x和y變量在僞代碼中引用的內容。有人可以幫我解釋一下嗎?

    5熱度

    2回答

    我意識到事實上可以實施Eratosthenes篩,以便它可以在沒有上限(分段篩)的情況下連續找到質數。 我的問題是,Atkin/Bernstein的Sieve是否可以用相同的方式實現? 相關問題:C#: How to make Sieve of Atkin incremental 然而,相關的問題只有1個答案,它說「這是不可能的所有篩子」,這顯然是不正確。

    0熱度

    2回答

    因此,我制定了一個sieve of Atkin算法來生成素數(用於項目歐拉問題)。它返回一個名爲primes的素數數組(int [])。問題是,無論何時我嘗試從某個索引訪問該數組(我在main方法中這樣做)時,它都會拋出一個異常(java.lang.ArrayIndexOutOfBounds)。請幫助(如果您認爲我的邏輯與仙女分開,並且有更簡單的方法可以做到這一點,請告訴我)! import ja

    0熱度

    1回答

    我已經使用C++自己實現了Atkin的Sieve,它生成的精品直到860,000,000左右。在那裏和更高的節目開始返回幾個複合材料,或者我認爲。我在程序內部有一個變量來計算髮現的素數,在〜8億6000萬的數量比它應該是更多。我檢查了我的計數與Eratosthenes Sieve的一個類似程序以及幾個互聯網資源。我是編程新手,所以這可能是一個愚蠢的錯誤。 無論如何,在這裏它是: #include

    3熱度

    1回答

    最近我一直在研究一個C++ Prime生成器,它使用Atkin的篩子(http://en.wikipedia.org/wiki/Sieve_of_atkin)生成素數。我的目標是能夠生成任何32位數字。我主要用它來解決項目問題。大多隻是一個夏季項目。 該程序使用一個位板來存儲素數:也就是一系列的1和0,例如第11位將是1,第12位爲0,第13位爲1等。 ,這實際上是字符數組,每個字符包含8位。我使