给定 n个正整数 ai,判定每个数是否是质数。
输入格式
第一行包含整数 n。
接下来 n 行,每行包含一个正整数 ai。
输出格式
共 n行,其中第 i行输出第 i个正整数 ai是否为质数,是则输出 Yes,否则输出 No。
数据范围
1≤n≤100,
1≤ai≤231−1
输入样例:
2
2
6
输出样例:
Yes
No
思路:首先将所给数值进行处理 得到i所能到的最大值 x/i,i首先要从2开始,因为2是最小的质数
如果x%i==0,说明在判断的时候有一个是它的因子,就不是质数了
#include<iostream>
using namespace std;
const int N=510;
int n;
//判断是否是质数
int zs(int x)
{
int res=1;
if(x<2)res=0;//如果当前数值小于2说明不是质数,最小的质数就是2
else
{
for(int i=2;i<=x/i;i++)
{
if(x%i==0)
{
res=0;
break;
}
}
}
return res;
}
int main()
{
cin>>n;
while(n--)
{
int x;cin>>x;//直接用cin来存数据,数据不会爆掉
if(zs(x)==1)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
}
标签:二分,输出,int,res,质数,cin,ai,模板 From: https://blog.csdn.net/2201_75508409/article/details/142370533