素数在我们实际编程中时常遇到,现有几个寻找素数的方法。
方法一)
// 构造素数序列primes[]
void makePrimes(int primes[], const unsigned int num)
{
int i, j, nCount;
primes[0] = 2;
primes[1] = 3;
nCount = 2;//already exist 2,3
for(i = 5; nCount < num; i += 2)
{
bool flag = true;
for(j = 1; primes[j] * primes[j] <= i; ++ j)
{
if(i % primes[j] == 0)
{
flag = false;
break;
}
}
if(flag) primes[nCount ++] = i;
}
}