Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from itertools import combinations_with_replacement
- def primes(n: int) -> iter:
- return [i for i in range(2, n + 1) if sum(i % k == 0 for k in range(1, int(i ** 0.5) + 1)) == 1]
- def at_least20(number):
- if number < 20:
- return 20
- return number
- def semi_primes(number_of_semi_primes):
- list_of_primes = primes(at_least20(number_of_semi_primes))
- comb = combinations_with_replacement(list_of_primes, 2)
- c = set()
- for i in comb:
- c.add(i[0] * i[1])
- if len(c) == number_of_semi_primes:
- break
- print(sorted(c))
- if __name__ == '__main__':
- semi_primes2(10000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement