PAT 1007 素數對猜想 C語言


讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。

現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數對的個數。

輸入格式:每個測試輸入包含1個測試用例,給出正整數N。

輸出格式:每個測試用例的輸出占一行,不超過N的滿足猜想的素數對的個數。

輸入樣例:

20

輸出樣例:

4


 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <math.h>
 4 #define MAXN 100000
 5 int a[MAXN];
 6 int isPrime(int num);
 7 int main()
 8 {
 9     int num;
10     scanf("%d",&num);
11     memset(a,0,MAXN);
12 
13     int i,cnt1 = 2,cnt2 = 0;
14     a[2] = 2;
15     for(i = 3; i <= num; i++){
16         if(isPrime(i)){
17             cnt1++;
18             a[cnt1] = i;
19             if((a[cnt1]-a[cnt1-1])== 2){
20                 cnt2++21             }
22         }
23     }
24     printf("%d",cnt2);
25     return 0;
26 }
27 
28 //判斷是否為素數
29 int isPrime(int num){
30     int flag = 1;
31     int temp = sqrt(num);
32     int i;
33     for(i = 2; i <= temp; i++){
34         if(num % i == 0) flag = 0;
35     }
36     return flag;
37 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM