我试图在 C++ 中找出如何找到一个范围内的所有素数(现在使用 100)
我不关心性能,我从 C++ 开始,并试图从我的书中理解这个程序练习。我有我正在尝试在下面使用的程序,但它一直返回错误。有任何想法吗?我已经阅读了几乎所有 googles/bing 的帮助以及堆栈溢出。我可以为它编写代码来输入数字;只是没有遍历所有数字
关于我做错了什么的任何想法?
#include <iostream>
using namespace std;
bool isPrime(long n);
int main()
{
int i;
//some vars
char emptyVar;
//first loop (to increment the number)
for (i = 0; i <= 100; i++)
{
//checking all numbers below 100
if (isPrime(i) == true)
{
//is true
cout << i << ", ";
}
else if (isPrime(i) == false)
{
//is false
cout <<"false , ";
}
}
cin >> emptyVar;
}
bool isPrime(long n)
{
long i =0;
//checks to see if the number is a prime
for (i = 2; i < n; i++) // sqrt is the highest possible factor
{
if ( n % i == 0) // when dividing numbers there is no remainder if the numbers are both factors
{
// is a factor and not prime
return false;
}
else if (n % i != 0 && i >= 100)
{
//is not a factor
return true;
}
}
}