D. Deleting Divisors
题目传送门:
题面截图:
题目大意:
Alice和Bob博弈,给你一个数字 n n n,每个人的操作就是给 n n n减掉一个它的因子。谁最先没得操作就输了。
思路:
代码:
# include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2e5 + 10;
int main() {
int t;
cin >> t;
while (t--) {
ll n;
cin >> n;
if (n & 1) {
cout << "Bob" << endl;
} else {
int a = 0;
while (n % 2 == 0) {
n /= 2;
a++;
}
if ((n == 1 && a % 2 == 0) || n != 1) {
cout << "Alice" << endl;
continue;
}
// cout << a << endl;
else {
cout << "Bob" << endl;
}
}
}
// cout << p << endl;
}
//100
//5
//1 50 9000 100000 10000000000