Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum Mark{ UNMARKED, PRIME, NOTPRIME};
- public class Eratosthenes {
- public static int[] sieve( int n ) {
- int[] primes = new int[];
- Mark[] mark = new Mark[];
- mark[0] = Mark.NOTPRIME;
- mark[1] = Mark.NOTPRIME;
- for (int k = 2; k <= n; k++ ) {
- mark[k] = Mark.UNMARKED;
- }
- for (int i = 2; i <= n; i++) {
- for (int j = 2; j <= n / i; j++) {
- int notprime = i * j;
- mark[notprime] = Mark.NOTPRIME;
- }
- }
- for (int l = 2; l <= n; l++) {
- if ( mark[l] == Mark.UNMARKED) {
- mark[l] = Mark.PRIME;
- l = primes;
- }
- }
- return primes;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement