Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. import timeit
  2.  
  3.  
  4. code1 = """
  5. def coprime(*numbers):
  6.     divisors = []
  7.     for n in numbers:
  8.         for i in range(2, n + 1):
  9.             if n % i == 0:
  10.                 if i in divisors:
  11.                     return False
  12.                 divisors.append(i)
  13.     return True
  14.  
  15. coprime(*(i for i in range(1, 10000)))
  16. """
  17.  
  18.  
  19.  
  20. code5 = """
  21. from math import sqrt
  22. def coprime(*numbers):
  23.    common_multiplier = set()
  24.    for n in numbers:
  25.        current_num = set()
  26.        for i in range(2, int(sqrt(n))+1):
  27.            if n % i == 0:
  28.                current_num.add(i)
  29.            while n%i == 0:
  30.                n //= i
  31.        if common_multiplier and common_multiplier & current_num:
  32.            return False
  33.        common_multiplier |= current_num
  34.    return True
  35.  
  36. coprime(*(i for i in range(1, 10000)))
  37. """
  38.  
  39. code6 = """
  40. from math import sqrt
  41.  
  42. def dividers(n):
  43.    for i in range(2, int(sqrt(n))+1):
  44.        if n%i==0:
  45.            yield i
  46.        while n%i==0:
  47.            n//=i
  48.  
  49. def coprime(*nums):
  50.    it=iter(nums)
  51.    divs=set(dividers(next(it)))
  52.    for n in nums:
  53.        divs = {x for x in divs if n%x==0}
  54.        if not divs:
  55.            break
  56.    return not divs
  57.    
  58. coprime(*(i for i in range(1, 10000000)))
  59. """
  60.  
  61.  
  62. print(timeit.timeit(code5, number = 1), '--Slam')
  63. print(timeit.timeit(code1, number = 1), '--Lamroy95')
  64. print(timeit.timeit(code6, number = 1), '--Tishka')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement