1007 素数对猜想 (20 分)
【例子分析】需要求出相邻且差为2的素数
输入:20
输出:4
20以内的素数 | 1 |
2 |
3 |
5 |
7 |
11 |
13 |
17 |
19 |
相邻且差为2的素数 |
3和5 |
5和7 |
11和13 |
17和19 |
【思路】:先判断是不是质数,再判断相差为2,然后再统计对数即可。
import java.util.*; public class Main{ //判断素数 public static boolean isPrime(int n){ for(int i=2; i*i<=n; i++){ if(n%i == 0){ return false; } } return true; } public static void main(String[] args){ int N; int num=0; Scanner sc = new Scanner(System.in); N = sc.nextInt(); for(int i=5; i<=N; i++){//从5开始,才有相差为2的素数。 if(isPrime(i-2) && isPrime(i)){ num++; } } System.out.print(num); } }
PAT乙级 文章被收录于专栏
做题记录