用欧拉筛预处理+暴力做的,TLE了 Subtask #2的3个点
#include <iostream>
using namespace std;
bool isp[200010];
int pri[100010], k;
int n;
void init() {
isp[1] = 1;
isp[0] = 1;
int n = 200010;
for (int i = 2; i <= n; i++) {
if (isp[i] == 0) {
pri[++k] = i;
}
for (int j = 1; j <= k && i * pri[j] <= n; j++) {
isp[i * pri[j]] = 1;
if (i % pri[j] == 0) break;
}
}
}
int main() {
int q;
scanf("%d", &q);
init();
while (q--) {
scanf("%d", &n);
long long cnt = 0;
for (int i = 2; i < n; i++) {
if (!isp[i] && !isp[n - n / i * i]) cnt++;
}
printf("%lld\n", cnt);
}
return 0;
}