Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Primes:
- def __init__(self, maximum):
- sieve = [i for i in range(maximum+1)]
- sieve[1] = 0
- i = 2
- while i * i <= maximum:
- if sieve[i] != 0:
- for j in range(i*2, maximum+1, i):
- sieve[j] = 0
- i += 1
- current_list = [3]
- sieve[0] = [None]
- sieve[1] = [None]
- for i in range(3, len(sieve)):
- if sieve[i] == 0:
- sieve[i] = current_list
- else:
- current_list = [i]
- last_prime = None
- for i in range(len(sieve)-1, -1, -1):
- if sieve[i] == i:
- last_prime = i
- elif len(sieve[i]) == 1:
- sieve[i].append(last_prime)
- self._data = sieve
- def print(self):
- for i, v in enumerate(self._data):
- print(i, v)
- def main():
- s = Primes(100)
- s.print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement