素數的定義
素數:又稱質數。是大於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...