南邮 OJ 1625 素数判定问题

素数判定问题

时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 710            测试通过 : 85 

比赛描述

判定给定整数是否为素数。




输入

输入数据包含多组测试用例。第1行给出测试用例数N,第2N+1行给出N个整数,每个整数占一行,大小不超过2147483647N100


输出

对于输入中第2N+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;
		}
	}
}


你可能感兴趣的:(ACM,素数判定,南邮OJ)