Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import timeit
- code1 = """
- def coprime(*numbers):
- divisors = []
- for n in numbers:
- for i in range(2, n + 1):
- if n % i == 0:
- if i in divisors:
- return False
- divisors.append(i)
- return True
- coprime(*(i for i in range(1, 10000)))
- """
- code5 = """
- from math import sqrt
- def coprime(*numbers):
- common_multiplier = set()
- for n in numbers:
- current_num = set()
- for i in range(2, int(sqrt(n))+1):
- if n % i == 0:
- current_num.add(i)
- while n%i == 0:
- n //= i
- if common_multiplier and common_multiplier & current_num:
- return False
- common_multiplier |= current_num
- return True
- coprime(*(i for i in range(1, 10000)))
- """
- code6 = """
- from math import sqrt
- def dividers(n):
- for i in range(2, int(sqrt(n))+1):
- if n%i==0:
- yield i
- while n%i==0:
- n//=i
- def coprime(*nums):
- it=iter(nums)
- divs=set(dividers(next(it)))
- for n in nums:
- divs = {x for x in divs if n%x==0}
- if not divs:
- break
- return not divs
- coprime(*(i for i in range(1, 10000000)))
- """
- print(timeit.timeit(code5, number = 1), '--Slam')
- print(timeit.timeit(code1, number = 1), '--Lamroy95')
- print(timeit.timeit(code6, number = 1), '--Tishka')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement