小杨的幸运数字
题目描述:小杨认为他的幸运数字应该恰好有两种不同的质因子,例如,12=2×2×3 的质因子有 2,3,恰好为两种不同的质因子,因此 12 是幸运数字,而 30=2×3×5 的质因子有 2,3,5,不符合要求,不为幸运数字。小杨现在有 n 个正整数,他想知道每个正整数是否是他的幸运数字。
#include <bits/stdc++.h>
using namespace std;
int x[50001];
int main()
{
int n, m, a;
int cnt, k;
//for(cin>>n;n;n--)
scanf("%d", &n);
while (n--)
{
scanf("%d", &m);
a = m;
k = 0;
for (int i = 2; i * i <= m; i++)
{
cnt = 0;
while (a % i == 0)
{
cnt++;
a /= i;
}
if (cnt > 0)
k++;
}
if (a != 1)
k++;
if (k == 2)
printf("1\n");
else
printf("0\n");
}
return 0;
}