Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import sqrt
- import time
- def mrange(start, stop, step=1):
- i = start
- while i < stop:
- yield i
- i += step
- def is_prime(n):
- return all(n % i for i in mrange(3, int(sqrt(n)) + 1, 2))
- primes = [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251]
- p = 127
- q = 193
- n = p*q
- def loop_nolist():
- for x in range(3, 256, 2):
- if( is_prime(x) and (n/x) < 256 and is_prime(n/x) and n == (x * (n/x)) ):
- ## print("n=" + str(n) + "\tp=" + str(x) + "\tq=" + str(n/x))
- break
- def loop_list():
- for x in primes:
- if( (n/x) < 256 and (n/x) in primes and n == (x * (n/x)) ):
- ## print("n=" + str(n) + "\tp=" + str(x) + "\tq=" + str(n/x))
- break
- times = []
- for x in range(0, 100):
- oTime = time.time();
- loop_nolist()
- times.append(time.time() - oTime)
- print( "Average time for scanning without list\t" + str( sum(times)/len(times) ) )
- times = []
- for x in range(0, 100):
- oTime = time.time();
- loop_list()
- times.append(time.time() - oTime)
- print( "Average time for scanning with list\t" + str( sum(times)/len(times) ) )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement