素数判定问题
时间限制(普通/Java) :
1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 710 测试通过 : 85
总提交 : 710 测试通过 : 85
比赛描述
判定给定整数是否为素数。
输入
输入数据包含多组测试用例。第1行给出测试用例数N,第2~N+1行给出N个整数,每个整数占一行,大小不超过2147483647。N≤100。
输出
对于输入中第2~N+1行每个整数,输出一行,如果是素数,则输出Yes,否则输出No。
样例输入
2
11
301
样例输出
Yes
No
题目来源
NUPT
#include<iostream>
#include<cmath>
using namespace std;
bool isPrime(int n){
if(n<2){
return 0;
}
if(n==2){
return 1;
}
int i, m=(int)sqrt((float)n);
for(i=2; i<=m; i++){
if(n%i==0){
return 0;
}
}
return 1;
}
int main(){
int N,x;
cin>>N;
while(N--){
cin>>x;
if(isPrime(x)){
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
}
}