学习了线性筛法,是一种用来筛质数的方法,zhx告诉我们这个方法背过来就好= =。
int solve(int n)
{
for (int i=2;i<n;i++)
{
if (!isnotprime[i])
prime[num_prime]=i;
for (int j=0;j<num_prime&&i*prime[j]<n;j++)
{
isnotprime[i*prime[j]]=1;
if(!(i%prime[j])break;
}
}
}
时间复杂度为O(n),这个算法中
1.一个数不会重复被筛除。
2.合数肯定会被筛除。