素數:(質數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輸出 每組測試資料輸出佔一行,該行...