题解 | 素数判断
素数判断
https://www.nowcoder.com/practice/5ab1b9690af047699e96c87dee65def4
#include <iostream>
using namespace std;
int t,n;
bool P(int n)
{
if(n<=1){
return false;}
if(n==2){
return true;}
for(int i=2;i<n;i++)
{
if(n%i==0){
return false;}
}
return true;
}
int main() {
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n;
if(P(n))
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
return 0;
}
首先根据素数的定义,大于1且只能被1和自身整除,这个时候根据定义,枚举即可,小于1的不是,特判一下最小的素数2,那么只用判断2- n-1这个区域里面的数能否和n取余,如果有余数的出现就是说明不是素数。
查看15道真题和解析
