素数筛选法
方法一:直接判断,思想简单,实现比较简单,但是复杂度过高
bool isprime(int a)
{
for(int i = 2;i * i <= a;i++)
{
if(a % i ==0) return false;
}
return true;
}
方法二:素数筛选法(Eratosthenes 筛法)
- 只有素数才能当筛子
- 筛掉对应的倍数,不超过要求的范围即可
- 遍历一遍代码
void getPrime(int n)
{
memset(prime,true,sizeof(prime));
prime[0] = prime[1