python判斷素數的方法簡書 判斷素數

2021-10-12 11:18:36 字數 818 閱讀 3018

素數的定義

素數:又稱質數。是大於1自然數中的除了自身和1以外不能別其他數整除的數字。

第一種方法

利用這個素數的定義,我們可以得出第一種判斷素數的方法:

int isprime1(int n)

int i = 0;

//2是素數

if(n <= 3)

return n > 1;

//當n不能被除了1和n自身整除的數外的數是素數

for(i = 2; i < n; i ++)

if(n % i == 0)

return 0;

return 1;

這個方法是最簡單的判斷方法,它使用乙個for迴圈來讓n一次次的除以小於n的每個數,如果除盡了的話,就不滿足素數的定義。

但是這個方法也是計算量最大的。它總共會計算n-2次。

第二種方法

第二種方式是:如果 n 能夠被 2 ~

所以,根據這個性質我們可以減少判斷的次數來節約運算時間。

int isprime2(int n)

int i = 0;

if(n <= 3)

return n > 1;

//講判斷條件改為 i <= sqrt(n),即對n開平方

for(i = 2; i <= sqrt(n); i ++)

if(n % i == 0)

return 0;

return 1;

這個方法比上乙個方法減少了很多的時間。所以使用這種方法的時候會更能提高程式的效率。

有人可能會問,這裡為什麼是

因為乙個數 n 的的因數可以分為兩部分,一部分是小於

判斷素數的方法

素數的定義 乙個大於1的自然數,除了1和它本身外,不能被其他自然數整除的素數叫素數。單獨判讀輸入的數n是不是1和2,再從2到n 1判斷是否存在能被2整除的數,如果有就是素數,沒有就不是素數。核心 如下 include func int n return1 intmain 其中優化的乙個方法就是對於乙...

判斷素數的方法(孿生素數)

素數 質數prime number 定義為在大於1的自然數中,除了1和它本身以外不再有其他因數,素數有無窮多個。先來一張 2 200素數分布表 從2到 n整除判斷 public static boolean isprime int num for int i 2 i sqrt num i retur...

Python 判斷素數

乙個大於1的自然數,除了1和它本身外,不能被其他自然數 質數 整除 2,3,5,7等 換句話說就是該數除了1和它本身以外不再有其他的因數。以下是判斷素數的函式 1 defisprime n 2if n 1 3return false 4for i in range 2,n 5if n i 0 6re...