最终结果不含1,若本身是素数,则含本身。
std::vector<int> _primeMap;
void fillPrimeMap(int number)
{
_primeMap.clear();
if (number > 3)
{
_primeMap.push_back(2);
_primeMap.push_back(3);
for (int i = 4; i <= number; i++)
{
if (isPrime(i)) _primeMap.push_back(i);
}
}
}
bool isPrime(int number)
{
bool bPrimeNumber = true;
for (size_t i = 0; i < _primeMap.size(); i++)
{
if (number%_primeMap[i] == 0)
{
bPrimeNumber = false;
break;
}
}
return bPrimeNumber;
}

本文介绍了一个用于生成指定范围内素数的算法。通过预先填充已知素数并使用这些素数来判断更大数值是否为素数的方法,提高了素数判断效率。
2310

被折叠的 条评论
为什么被折叠?



