我已经阅读了很多关于这个主题的代码,但是它们中的大多数产生的数字一直是素数,直到输入数字。但是,我需要只检查给定输入数字是否为素数的代码。
这是我能够写的,但它不起作用:
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;
}
}
原文由 carla 发布,翻译遵循 CC BY-SA 4.0 许可协议
你需要做更多的检查。现在,您只检查数字是否可以被 2 整除。对 2、3、4、5、6,… 执行相同操作,直到
number
。提示:使用 循环。解决此问题后,请尝试寻找优化。提示:您只需检查所有数字,直到数字的平方根