孪生素数
如果n和n+2都是素数,则称他们都是孪生素数.输入m,输出两个数均不超过m的最大孪生素数.
5<=m<=10000.例如
例如m=20时,答案是17,19,m=1000时,答案是881,883.
package practice;
import java.util.Scanner;
/**
* @author jins
* @date on 2019/1/15.
*/
public class TwinPrime {
public static void main(String[] args)
{
int i,n;
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
// 找最大的孪生素数,从大往小找比较合适
for ( i=n;i>=3;i--) {
if (isPrime(i) == 1 && isPrime(i - 2) == 1) {
System.out.println(" " + (i - 2) + " " + i);
break;
}
}
}
private static int isPrime(int n)
{
//判断该数是否是素数
for ( int i= 2 ; i<=Math.sqrt(n); i++) {
if (n%i==0) {
return 0;
}
}
return 1;
}
}
package practice;
import java.util.Scanner;
/**
* @author jins
* @date on 2019/1/15.
*/
public class TwinPrime {
public static void main(String[] args)
{
int i,n;
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
// 找最大的孪生素数,从大往小找比较合适
for ( i=n;i>=3;i--) {
if (isPrime(i) == 1 && isPrime(i - 2) == 1) {
System.out.println(" " + (i - 2) + " " + i);
break;
}
}
}
private static int isPrime(int n)
{
//判断该数是否是素数
for ( int i= 2 ; i<=Math.sqrt(n); i++) {
if (n%i==0) {
return 0;
}
}
return 1;
}
}
如果大家喜欢我的文章,可以关注我的微信公众号,后面会陆续更新!