思路: N 为1或质数 先手必赢 N 为质数X质数的积 后手必赢 先手取两个质数的积则赢 #include #include #define ll long long using namespace std; int main() { int n; cin>>n; while(n--) { ll num; int a=0; int b=1; int c=1; cin>>num; for(ll i=2;i*i<=num;i++) while(num%i==0) { num/=i; if(b==1) b=i; else if(c==1) c=i; a++; } if(a==0) { cout<