1007. 素數對猜想
阿新 • • 發佈:2018-02-25
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. 素數對猜想