#include using namespace std; bool isPrime(int x) { for (int i = 2; i <= x / i; i++) { if (x % i == 0) return false; } return true; } bool isLucky(int x) { // 将数字x分解质因数,并且记录质因数的个数,如果质因数个数为2,并且不能重复,则返回true,否则返回false int cnt = 0; for (int i = 2; i <= x; i++) { if (x % i == 0 && isPrime(i)) cnt++; } return cnt == 2; } /* 3 7 12 30 参考答案:0 1 0 */ int main() { int n; cin >> n; while (n--) { int x; cin >> x; if (isLucky(x)) cout << 1 << endl; else cout << 0 << endl; } return 0; }