-2
我编写了一段时间的java,并且我刚刚启动了C++。 我决定做一个素数检查器,但由于某种原因,如果它是素数,它不会打印出来。素数检查错误C++
#include <iostream>
using namespace std;
int prime;
int main()
{
while(true)
{
int primeChecker;
cout << "Enter a number to check if it is prime" << endl;
cin >> prime;
for(int i = 2; i <= (1/2)*prime; i++){
cout << "Working" << endl;
if(prime % i == 0){
cout << "This number is not prime" << endl;
primeChecker+=1;
}
}
if(primeChecker == 0){
cout << "This number is prime" << endl;
}
}
return 0;
}
'(1/2)'是'0'。 – LogicStuff
您可能想要创建一个函数isPrime,它返回布尔值。输入/输出代码可以调用它,并且有一个简单的if/else检查。你可能想要upper_bound = sqrt(数字)。您可以检查%2,然后从3开始,然后加2(没有理由检查除2之外的任何偶数)。当你不知道它是什么时,我不喜欢你将变量命名为“素数”,也不会让它成为全局变量。也许还会验证输入,并提供退出的方法。 –