素数:为在大于1的自然数中,除了1和它本身以外不再有其他因数。
孪生素数:就是指相差2的素数对
代码:
public class JudgeTwinPrimeNumber {
public static void main(String[] args) {
Scanner scaner = new Scanner(System.in);
System.out.println("请输入任意两个自然数");
long l1 = scaner.nextLong();
long l2 = scaner.nextLong();
if(l1 > 1&&l1%2 != 0){
if(l2 > 1&&l2%2 != 0){
if(l1 - l2 == 2|| l2 - l1 == 2){
System.out.println(l1 + "和" + l2 + "是一对孪生素数");
}
}
}else{
System.out.println(l1 + "和" + l2 + "不是一对孪生素数");
}
}
}
效果展示:
public class R {
public static void main(String[] args) {
int i = 7;
int j = 5;
if (Math.abs(i - j) != 2 || !isPrime(j) || !isPrime(i)) {
System.out.println(false);
} else {
System.out.println(true);
}
}
/***
* 是否是素数
*
* @param n
* @return
*/
public static boolean isPrime(int n) {
if (n < 2) {
return false;
}
if (n == 2) {
return true;
}
if (n % 2 == 0) {
return false;
}
for (int i = 3; i * i <= n; i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
}