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

2021-10-09 07:38:47 字數 940 閱讀 8365

素數:(質數prime number)定義為在大於1的自然數中,除了1和它本身以外不再有其他因數,素數有無窮多個。

先來一張 2-200素數分布表

從2到√n整除判斷

public

static

boolean

isprime

(int num)

for(

int i=

2;i<=

sqrt

(num)

; i++)}

return

true

;}

孿生素數:就是指相差2的素數對,例如3和5、5和7、11和13、17和19……

從上面的素數分布表和 孿生素數對可以看出來,大於3的素數只分布在6n-1和6n+1兩數列中。

//2和3是素數

if(num ==

2|| num ==3)

//不在6的左邊和右邊 直接判斷不是素數

if(num%6!=

1&& num%6!=

5)//加6的原因是 素數只分布在6n-1和6n+1兩數列中

for(

int i=

5; i <=

sqrt

(num)

;i+=6)

}return

true

;}感謝**,希望對你有幫助。

利用孿生素數判斷素數

思路參見 孿生素數 所謂孿生素數指的是間隔為 2 的相鄰素數。大於6以上的孿生素數,p 1和p 1為素數,則p 1和p 1一定為奇數,則p一定為偶數,即p為2的倍數 p 1 p p 1為連續的自然數,他們一定有乙個是3的倍數,p 1和p 1為素數,則他們不為3的倍數,即p也為3的倍數 所以p一定為2...

python100以內孿生素數 孿生素數

問題描述 若兩個素數之差為2,則這兩個素數就是孿生素數。編寫程式找出1 100之間的所有孿生素數。我的 import math def prime n count 0 for i in range 2,int math.sqrt n 1 if n i 0 count 1 i 1 if count 1...

孿生素數問題

描述 寫乙個程式,找出給出素數範圍內的所有孿生素數的組數。一般來說,孿生素數就是指兩個素數距離為2,近的不能再近的相鄰素數。有些童鞋一看到題就開始寫程式,不仔細看題,咱們為了遏制一下讀題不認真仔細的童鞋,規定,兩個素數相鄰為1的也成為孿生素數。輸入 第一行給出n 0輸出 每組測試資料輸出佔一行,該行...