2017-08-17 31 views
-8

在我的大學編程考試期間,我被告知編寫一個程序,可以找到從0到n的素數。這是找到一定範圍內的素數的好方法嗎?

我的方法是將數字除以2,3,5和7,而不返回值0的餘數的方法是質數。

這是一個很好的解決方案嗎?

謝謝!

+7

這僅僅是一個錯誤的解決方案。 –

+1

[Eratosthenes的篩子](https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes) –

+0

你能解釋一下爲什麼嗎? –

回答

3

121 = 11 * 11將是您的代碼中列爲首位的第一個非素數。
所以你的代碼是唯一的解決方案直到n = 120

即:第

+0

多數民衆贊成在輝煌的捕獲 – EsmaeelE

+2

@EsmaeelE這是一個很好和準確的答案(所以+1),但不是遠程「輝煌」(我相信Yunnosch將是第一個承認)。這個問題本身就表明了對相對基本算術的顯着誤解,反例很容易找到。 –

+0

@JohnColeman :-)我試圖回答一些比明確的問題,同時保持友好 - 或者至少是事實問題。 – Yunnosch

相關問題