#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; // The problem is actually asking how many numbers are there that is less than n. // If it is odd, Bob wins, if it' even, Alice wins. // use the Seive int countPrimes(int n) { if (n < 2 ) return 0; bool* primes = new bool[n+1]; for (int i = 2; i <= n; ++i) primes[i] = true; int sqr = sqrt(n); for (int i = 2; i <= sqr; ++i) { if (primes[i]) { for (int j = i*i; j <= n; j += i) primes[j] = false; } } int count = 0; for (int i = 2; i <= n; ++i) if (primes[i]) ++count; //cout <<"n: " << n << " "<> g; for(int a0 = 0; a0 < g; a0++){ int n; cin >> n; if (countPrimes(n) % 2) cout << "Alice"<< endl; else cout << "Bob" << endl; } return 0; }