Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import sys
- from multiprocessing import Pool
- import argparse
- #Start and end numbers
- start_number = 1
- end_number = 10000
- parser = argparse.ArgumentParser()
- parser.add_argument('-e', '--end', default=10000, type=int, help='End Number')
- args = parser.parse_args()
- end_number = args.end
- #Record the test start time
- start = time.time()
- #Create variable to store the prime numbers and a counter
- primes = []
- #Loop through each number, then through the factors to identify prime numbers
- r = range(start_number, end_number, 1)
- def isPrime(num):
- for div_number in range(2, num):
- if num % div_number == 0:
- return False
- return True
- with Pool(24) as p:
- primes = [c for c, keep in zip(r, p.map(isPrime, r)) if keep]
- '''
- for candidate_number in range(start_number, end_number, 1):
- found_prime = True
- for div_number in range(2, candidate_number):
- if candidate_number % div_number == 0:
- found_prime = False
- break
- if found_prime:
- primes.append(candidate_number)
- noPrimes += 1
- '''
- #Once all numbers have been searched, stop the timer
- end = round(time.time() - start, 2)
- #Display the results, uncomment the last to list the prime numbers found
- print('Find all primes up to: ' + str(end_number))
- print('Time elapsed: ' + str(end) + ' seconds')
- print('Number of primes found ' + str(len(primes)))
- #print(primes)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement