天天看点

埃拉托赛尼筛法 素数求法

```
package text;
import java.util.*;

public class test 
{
	public static void main(String[] args) {
		System.out.println("123");
		Scanner console=new Scanner(System.in);
		int max=console.nextInt();
		List<Integer> primes =sieve(max);
		System.out.println(primes);
	}
	public static List<Integer> sieve(int max)
	{
		List<Integer> primes=new LinkedList<>();
		List<Integer> numbers= new LinkedList<>();
		numbers.add(2);
		for(int i=3;i<=max;i+=2)
		{
			numbers.add(i);
		}
		while(!numbers.isEmpty())
		{
			int front =numbers.remove(0);
			primes.add(front);
			Iterator<Integer> itr= numbers.iterator();
			while(itr.hasNext())
			{
				int current=itr.next();
				if(current%front==0)
					itr.remove();
			}
		}
		return primes;
	}
}
```
           

没加判断…