PAT 1007 素数对猜想 (20 分)(Java)
题目描述:
输入格式:
输入在一行给出正整数N。
输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
实现代码(Java):
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static boolean isPrime(int p){
if(p==1){
return false;
}
if(p%2==0&&p!=2){
return false;
}
for(int i=3;i<=Math.sqrt(p);i+=2){
if(p%i==0){
return false;
}
}
return true;
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
ArrayList list = new ArrayList();
int account = 0;
for(int i =1 ;i<=n ;i++){
if(isPrime(i)){
list.add(i);
}
}
for(int i=0 ;i<list.size()-1 ;i++){
if((int)list.get(i+1)-(int)list.get(i)==2){
account++;
}
}
System.out.println(account);
}
}