//筛法直接用埃氏筛就行了 //**1,longlong如果巨量操作,显著慢于int //**2,筛法是很慢的,多筛一点就差很多了 //即,算好要求,不要多筛不要乱开longlong #include<bits/stdc++.h> usingnamespacestd; typedeflonglong ll; constint MAXN = 45000; //const int MAXN=1e5; bool notprime[MAXN]; // 值为 false 表示素数,值为 true 表示非素数 int prime[MAXN]; int p=0; voidinit(){ memset(notprime, false, sizeof(notprime)); notprime[0] = notprime[1] = true; for (ll i = 2; i < MAXN; i++) if (!notprime[i]) { prime[p++]=i; for (ll j = i * i; j < MAXN; j += i)// notprime[j] = true; } }
intfrac(int n){ int sum = 0, flag = 0; for (int i=0;i<p;++i) { if (n < prime[i]) break; while (n % prime[i] == 0) { if (prime[i] != 2) sum++; else flag = 1; n /= prime[i]; } } if (n > 1) sum++; return sum + flag; }
voidsolve(){ init(); int t; cin >> t; for (int i = 0; ts < t; ++i) { int n; cin >> n; int res = 0; for (int j = 0; j< n; ++j) { int tmp; cin >> tmp; res ^= frac(tmp); } cout << (res ? "W" : "L") << endl; } }