一尘不染

确定数字是否为质数

algorithm

我已经阅读了很多有关此主题的代码,但是大多数代码都会产生一直到输入数字都是素数的数字。但是,我需要仅检查给定输入数字是否为质数的代码。

这是我能够写的内容,但是不起作用:

void primenumber(int number)
{
    if(number%2!=0)
      cout<<"Number is prime:"<<endl;
    else 
      cout<<"number is NOt prime"<<endl;
}

如果有人能给我有关如何使其正常工作的建议,我将不胜感激。

更新资料

我对其进行了修改,以检查for循环中的所有数字。

void primenumber(int number)
{
    for(int i=1; i<number; i++)
    {
       if(number%i!=0)
          cout<<"Number is prime:"<<endl;
       else 
          cout<<"number is NOt prime"<<endl;
    }  
}

阅读 172

收藏
2020-07-28

共1个答案

一尘不染

您需要做更多检查。目前,您只检查数字是否可被2整除。对2、3、4、5、6 …直到进行相同的操作number。提示:使用 循环

解决此问题后,请尝试寻找优化。提示:您只需要检查所有数字,直到数字的平方根

2020-07-28