题解 | 素数判断

素数判断

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取余,如果有余数的出现就是说明不是素数。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务