PAT乙級1007 素數對猜想
阿新 • • 發佈:2019-01-28
讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。
現給定任意正整數N (< 105),請計算不超過N的滿足猜想的素數對的個數。
輸入格式:每個測試輸入包含1個測試用例,給出正整數N。
輸出格式:每個測試用例的輸出佔一行,不超過N的滿足猜想的素數對的個數。
輸入樣例:20輸出樣例:
4
#include<stdio.h> #include<string.h> #define size 100010 int isprime[size]; void prime(); int main(void) { prime(); int num; scanf("%d", &num); //printf("num=%d\n", num); int count = 0; for (int i = 2; i<=num-2; i++) { if (isprime[i] && isprime[i + 2]) { //printf("這對素數對是%d %d\n", i, i + 2); count++; } } printf("%d\n", count); return 0; } void prime() { for (int i = 0; i < size; i++) { isprime[i] = 1; } isprime[0] = 0; isprime[1] = 0; for (int x = 2; x < size; x++) { for (int n = 2; x*n < size; n++) { isprime[x*n] = 0; } } }