给定 n 个正整数 ai ,判定每个数是否是质数。
输入格式
第一行包含整数 n 。
接下来 n 行,每行包含一个正整数 ai 。
输出格式
共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数,是则输出 Yes,否则输出 No。
数据范围
1≤n≤100 ,
1≤ai≤231−1
输入样例:
2
2
6
输出样例:
Yes
No
#include<bits/stdc++.h>//最差情况sqrt(n),最好情况(比如2的n次方)为logn
using namespace std;
void cc(int n)
{
for(int i = 2; i <= sqrt(n); i ++ )
{
if(n % i == 0)//找到质因子
{
int s = 0;
while(n % i == 0)//算出数量
{
s ++ ;
n /= i;
}
cout<<i<<" "<<s<<endl;
}
}
if(n > 1)
cout<<n<<" "<<1<<endl;//最多存在一个大于sqrt(n)的质因数,比如15中的5
cout<<endl;
}
int main()
{
int t,n;
cin>>t;
while(t -- )
{
cin>>n;
cc(n);
}
return 0;
}