#include #include #include #include using namespace std; int prime[2000001] = {}; bool ktnt(long long y); void taomang(int x); int main() { #ifndef ONLINE_JUDGE freopen ("input.txt", "r", stdin); freopen ("output.txt", "w", stdout); #endif ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); prime[0] = 0; prime[1] = 0; long long i,n,temp,j,dem; cin >> n; for (i = 1 ; i <= n ; i++) { cin >> temp; taomang(temp); dem = 0; for (j = (temp + 1); j <= (2 * temp); j++) { if (prime[j] == 1) { dem++; } } cout << dem << endl; } return 0; } bool ktnt(long long y) { if (y < 2) { return 0; } if (y == 2) { return 1; } if (y % 2 == 0) { return 0; } long long t; for (t = 3 ; t <= (long long) sqrt(y) ; t += 2) { if (y % t == 0) { return 0; } } return 1; } void taomang(int x) { long long k,l; for (l = x + 1 ; l <= 2 * x ; l++) { if (prime[l] == 0) { if (ktnt(l) == 1) { prime[l] = 1; for (k = 2 * l; k <= 2 * x ;k += l) { prime[k] = 2; } } else { prime[l] = 2; } } } }