Goldbach`s Conjecture #include <iostream> #include <string.h> #include <stdlib.h> #include <stdio.h> using namespace std; #define MAXN 10000010 bool prime[MAXN]; int num[1111111]; int k; void getprime() { k = 0; memset(prime, 1, sizeof(prime)); for( int i = 2; i < MAXN; i++) if(prime[i]) { num[k++] = i; for( int j = i*2; j < MAXN; j+=i) prime[j] = 0 ; } } int main() { int ca = 1; int t, n; scanf("%d",&t); getprime(); while(t--) { scanf("%d",&n); int ans = 0; for(int i = 0; i < k && num[i] <= n - num[i]; i++) { if(prime[n-num[i]]) ans++; } printf("Case %d: %d\n",ca++, ans); } return 0; } 素数表