题解:P10720 [GESP202406 五级] 小杨的幸运数字
· 阅读需 1 分钟
原题链接
解题思路
循环遍历 之间的整数 ,检查 是否是 的因子。如果是,就不断从 中去除 因子,直到 不能被 整除为止。
显然 至多有 个质因子大于 。循环结束后,如果 ,那么此时 也是一个质因子。
统计质因子的种数,判断其是否等于 。时间复杂度 。
参考代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int a;
cin>>a;
int cnt=0,t=a;
for(int i=2;i*i<=t;i++)
{
if(a%i==0)
{
cnt++;
while(a%i==0)a/=i;
}
}
if(a>1)cnt++;
cout<<(cnt==2)<<'\n';
}
return 0;
}