输入正整数n,要求打印出所有小于n的质数。
#include <iostream>
using namespace std;
void findPrime(int n)
{
bool *isPrime = new bool[n];
memset(isPrime, true, n*sizeof(bool));
isPrime[0] = isPrime[1] = false;
int prime = 2;
while (prime < n)
{
int mul = (prime << 1);
while (mul < n)
{
isPrime[mul] = false;
mul += prime;
}
do
{
prime++;
}
while (prime < n && !isPrime[prime]);
}
for (int i = 0; i < n; i++)
{
if (isPrime[i])
{
cout << i << " ";
}
}
cout << endl;
delete []isPrime;
}