首页 > 其他 > 详细

1007. 素数对猜想

时间:2018-02-25 16:33:05      阅读:189      评论:0      收藏:0      [点我收藏+]

题目截图:

技术分享图片

 

思路:

  先生成素数表,然后验证每一对相邻且差为 2 的数是否为素数对。

 

代码:

 1 /*
 2     1007. 素数对猜想
 3 */
 4 
 5 #include <stdio.h>
 6 #include <string.h>
 7 #include <math.h>
 8 #include <stdlib.h>
 9 #include <time.h>
10 
11 #define maxn 100001
12 int p[maxn] = {0};                // 存储素数表 
13 
14 // 求素数表 
15 void findPrime(int N) {
16     int i, j;
17     for(i=2; i<=N; ++i) {
18         if(!p[i]) {                // 为素数 
19             // 标记倍数为非素数 
20             for(j=i+i; j<=N; j+=i) {
21                 p[j] = 1;
22             } 
23         }
24     }
25 }
26 
27 int main() {
28     int N, i, cnt=0;
29     scanf("%d", &N);
30     findPrime(N);                // 求素数表 
31     for(i=2; i<N-1; ++i) {
32         if(!p[i] && !p[i+2]) {    // 验证是否为素数对 
33             cnt++;
34         }
35     }
36     printf("%d", cnt);
37 
38     return 0;
39 }

 

1007. 素数对猜想

原文:https://www.cnblogs.com/coderJiebao/p/PAT1007.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!