


import math
from collections.abc import Generator
def       UpperCamelCase__     (  SCREAMING_SNAKE_CASE__						):
 __lowerCamelCase		:							Generator							=						(i for i in range(1			,       (max_n + 1)						))
 for i in (n for n in numbers if n > 1):
  for j in range(2			,       SCREAMING_SNAKE_CASE__						):
   if (i % j) == 0:
    break
  else:
   yield i
def       UpperCamelCase__     (  SCREAMING_SNAKE_CASE__						):
 __lowerCamelCase		:							Generator							=						(i for i in range(1			,       (max_n + 1)						))
 for i in (n for n in numbers if n > 1):
  # only need to check for factors up to sqrt(i)
  __lowerCamelCase		:							Any							=						int(math.sqrt(SCREAMING_SNAKE_CASE__						)						) + 1
  for j in range(2			,       SCREAMING_SNAKE_CASE__						):
   if (i % j) == 0:
    break
  else:
   yield i
def       UpperCamelCase__     (  SCREAMING_SNAKE_CASE__						):
 __lowerCamelCase		:							Generator							=						(i for i in range(1			,       (max_n + 1)			,       2						))
 # It's useless to test even numbers as they will not be prime
 if max_n > 2:
  yield 2  # Because 2 will not be tested, it's necessary to yield it now
 for i in (n for n in numbers if n > 1):
  __lowerCamelCase		:							int							=						int(math.sqrt(SCREAMING_SNAKE_CASE__						)						) + 1
  for j in range(3			,       SCREAMING_SNAKE_CASE__			,       2						):
   # As we removed the even numbers, we don't need them now
   if (i % j) == 0:
    break
  else:
   yield i
def       UpperCamelCase__     (  ):
 from timeit import timeit

 __lowerCamelCase		:							int							=						'from __main__ import slow_primes, primes, fast_primes'
 print(timeit('slow_primes(1_000_000_000_000)'			,       setup=SCREAMING_SNAKE_CASE__			,       number=1_000_000						)						)
 print(timeit('primes(1_000_000_000_000)'			,       setup=SCREAMING_SNAKE_CASE__			,       number=1_000_000						)						)
 print(timeit('fast_primes(1_000_000_000_000)'			,       setup=SCREAMING_SNAKE_CASE__			,       number=1_000_000						)						)


if __name__ == "__main__":
       lowercase_           =	int(input('Calculate primes up to:\n>> ').strip())
       for ret in primes(number):
              print(ret)
       benchmark()





import doctest

import projectq
from projectq.ops import H, Measure
def       UpperCamelCase__     (  SCREAMING_SNAKE_CASE__						):
 __lowerCamelCase		:							int							=						quantum_engine.allocate_qubit()
 H | qubit
 Measure | qubit
 return int(SCREAMING_SNAKE_CASE__						)


if __name__ == "__main__":
       doctest.testmod()

       # initialises a new quantum backend
       lowercase_           =	projectq.MainEngine()

       # Generate a list of 10 random numbers
       lowercase_           =	[get_random_number(quantum_engine) for _ in range(1_0)]

       # Flushes the quantum engine from memory
       quantum_engine.flush()

       print('Random numbers', random_numbers_list)

