题解 | #除数游戏#
除数游戏
https://www.nowcoder.com/practice/e195ff1fa3654e92a565433d22e256e1
#include <bits/stdc++.h>
using namespace std;
int primeRes(int n) {
int lmt = sqrt(n), ret(0);
for (int i = 2; i <= lmt; i++) {
while (n % i == 0) {
ret ++;
n /= i;
}
}
if (n > 1) ret ++;
return ret;
}
int main() {
int n, sum(0),val;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> val;
sum ^= primeRes(val);
}
string ans = sum != 0 ? "Alice" : "Bob";
cout << ans << endl;
}
查看10道真题和解析