【數論和基礎數學】質數篩選-蒜頭君的猜想
//
// main.cpp
// hahah
//
// Created by apple on 2019/9/6.
// Copyright © 2019 apple. All rights reserved.
//
#include<iostream>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int c = n + 1;
int *is_prime = (int*)malloc(sizeof(int)*c);
//都是質數
for(int i = 2; i <= n; i++){
is_prime[i] = 1;
}
//篩選質數
for(int i = 2; i*i <= n; i++){
if(is_prime[i]){
for(int j = i*i; j <= n; j += i){
is_prime[j] = 0;
}
}
}
int ans = 0; // answer
for(int i = 2; i <= (n/2); i++){
if(is_prime[i]&&is_prime[n-i]){
ans++;
}
}
printf("%d\n",ans);
free(is_prime);
return 0;
}