1. 程式人生 > >1007. 素數對猜想

1007. 素數對猜想

math.h 思路 += 先生 bubuko fine alt ima color

題目截圖:

技術分享圖片

思路:

  先生成素數表,然後驗證每一對相鄰且差為 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. 素數對猜想