#include #include #include #include #include using namespace std; bool isPrime(const uint32_t val) { uint32_t maxVal{static_cast(sqrt(val)+0.5)}; for(uint32_t x{3}; x<=maxVal; x+=2) { if (val%x==0) return false; } return true; } int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ std::vector primes{2}; const uint32_t maxCandidates{1000000}; std::vector primeCandidates(maxCandidates, true); for(uint32_t x{3}; x<=maxCandidates; x+=2) { if (primeCandidates[(x-1)/2]) { if (isPrime(x)) primes.emplace_back(x); else { // remove all multiples for(uint32_t y{x}; y<=maxCandidates; y+=2*x) primeCandidates[(y-1)/2] = false; } } } size_t G; std::cin >> G; for(size_t g{0}; g> N; // get number of primes <=N auto itr = std::upper_bound(primes.cbegin(), primes.cend(), N); size_t numPrimes =itr-primes.cbegin(); // std::cout << numPrimes << std::endl; if (numPrimes%2==0) std::cout << "Bob" << std::endl; else std::cout << "Alice" << std::endl; } return 0; }