Goldbach`s Conjecture LightOJ - 1259

版权声明: https://blog.csdn.net/weixin_40959045/article/details/88381889

打表得

    #include<bits/stdc++.h>
    using namespace std;
    #define fst first
    #define sec second
    #define sci(num) scanf("%d",&num)
    #define scl(num) scanf("%lld",&num)
    #define mem(a,b) memset(a,b,sizeof a)
    #define cpy(a,b) memcopy(a,b,sizeof b)
    typedef long long LL;
    typedef pair<int,int> P;
    const int MAX_N = 1e7 + 100;
    const int MAX_M = 1e6;
    bool isp[MAX_N];
    int primes[MAX_M];
    void init() {
        for (int i =2 ;i < MAX_N;i++) {
            if (!isp[i]) {
                primes[++primes[0]] = i;
                for (int j = i + i;j < MAX_N;j+= i) {
                    isp[j] = true;
                }
            }
        }
    }
    int main() {
        init();
        int T;
        sci(T);
        for (int cs = 1;cs <= T;cs++) {
            int N;sci(N);
            int ans = 0;
            for (int i = 1;i <= primes[i] && primes[i] <= N / 2;i++) {
                if (!isp[N - primes[i]])
                    ans++;
            }
            printf("Case %d: %d\n",cs,ans);
        }
        return 0;
    }

猜你喜欢

转载自blog.csdn.net/weixin_40959045/article/details/88381889
今日推荐