



'''simple docstring'''





import math

import qiskit
from qiskit import Aer, ClassicalRegister, QuantumCircuit, QuantumRegister, execute
def 		_a   (  lowerCamelCase_ = 1					,						lowerCamelCase_ = 1							):
   if isinstance(lowerCamelCase_					,						lowerCamelCase_							) or isinstance(lowerCamelCase_					,						lowerCamelCase_							):
      raise TypeError('''inputs must be integers.'''							)
   if (bit_a < 0) or (bit_a < 0):
      raise ValueError('''inputs must be positive.'''							)
   if (math.floor(lowerCamelCase_							) != bit_a) or (math.floor(lowerCamelCase_							) != bit_a):
      raise ValueError('''inputs must be exact integers.'''							)
   if (bit_a > 1) or (bit_a > 1):
      raise ValueError('''inputs must be less or equal to 1.'''							)

   # build registers
   snake_case   :							Optional[Any]						  =QuantumRegister(2					,						'''qr'''							)
   snake_case   :							int						  =ClassicalRegister(2					,						'''cr'''							)

   snake_case   :							Union[str, Any]						  =QuantumCircuit(lowerCamelCase_					,						lowerCamelCase_							)

   # entanglement the qubits
   quantum_circuit.h(1							)
   quantum_circuit.cx(1					,						0							)

   # send the information
   snake_case   :							Tuple						  =str(lowerCamelCase_							) + str(lowerCamelCase_							)

   if c_information == "11":
      quantum_circuit.x(1							)
      quantum_circuit.z(1							)
   elif c_information == "10":
      quantum_circuit.z(1							)
   elif c_information == "01":
      quantum_circuit.x(1							)
   else:
      quantum_circuit.i(1							)

   # unentangled the circuit
   quantum_circuit.cx(1					,						0							)
   quantum_circuit.h(1							)

   # measure the circuit
   quantum_circuit.measure(lowerCamelCase_					,						lowerCamelCase_							)

   snake_case   :							str						  =Aer.get_backend('''aer_simulator'''							)
   snake_case   :							List[str]						  =execute(lowerCamelCase_					,						lowerCamelCase_					,						shots=10_00							)

   return job.result().get_counts(lowerCamelCase_							)


if __name__ == "__main__":
      print(f"Counts for classical state send: {superdense_coding(1,1)}")






'''simple docstring'''





import doctest

import projectq
from projectq.ops import H, Measure
def 		_a   (  lowerCamelCase_							):
   snake_case   :							str						  =quantum_engine.allocate_qubit()
   H | qubit
   Measure | qubit
   return int(lowerCamelCase_							)


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

      # initialises a new quantum backend
      A			:   Dict			=      projectq.MainEngine()

      # Generate a list of 10 random numbers
      A			:   Dict			=      [get_random_number(quantum_engine) for _ in range(10)]

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

      print("""Random numbers""", random_numbers_list)





