问题标题: 请问C++如何判断质数

0
0

0
已采纳
李祈乐
李祈乐
新手光能
新手光能

输入n,因为质数的因数只有1和它本身,如果有一个数能把n整除,只可能是1和n,不能被整除只有剩下的数(1-n),所以从2到n-1循环,如果其中有一个数能把n整除,就说明n除1和n之外有其他因数,即:

for(int i=2;i<=n-1;i++)
    {
        if(n%i==0)
        {
            cout<<"Yes";
            return 0;
        }
    }
    cout<<"No";

 

0
黄俊博
黄俊博
资深光能
资深光能

if (n==1)
{

    cout<<"no";

    return 0;

}

if(n==2)

{

    cout<<"yes";

    return 0;

}

for(int i=2;i<=sqrt(n);i++)//头文件cmath

 

{

 

if(n%i==0)

 

{

 

cout<<"no";

 

return 0;

 

}

 

}

 

cout<<"yes";

0
李源徽
李源徽
新手光能
新手光能
void zs(int y)
{
    int s=0;
    for(int i=1;i<=y;i++)
    {
        if(y%i==0)
        s++;
    }
    if(s<=2)
    cout<<"Yes";
    else
    cout<<"No";
}

函数写法。

0
我要回答