# 필요한 라이브러리 importfromqiskitimportQuantumCircuit,QuantumRegister,ClassicalRegister,execute,Aer,IBMQfromqiskit.compilerimporttranspile,assemblefromqiskit.tools.jupyterimport*fromqiskit.visualizationimport*
## 2 Qubit, 2 Classical bit 정의q=QuantumRegister(2,'q')c=ClassicalRegister(2,'c')circuit=QuantumCircuit(q,c)## 0번 Qubit에 H게이트, 0번과 1번을 CNOTcircuit.h(q[0])circuit.cx(q[0],q[1])## Qubit을 Classical bit에 매핑circuit.measure(q,c)## 회로 그리기%matplotlibinlinecircuit.draw(output="mpl")
## 1. 시뮬레이터로 테스트simulator=Aer.get_backend('qasm_simulator')job=execute(circuit,backend=simulator,shots=1024)result=job.result()## 결과를 text와 차트로 출력counts=result.get_counts(circuit)print("Result:",counts)fromqiskit.tools.visualizationimportplot_histogramplot_histogram(counts)
# 2. IBM Q 장비로 돌려보기# 제일안쓰는 장비찾기fromqiskit.providers.ibmqimportleast_busyIBMQ.load_accounts()lb_device=least_busy(IBMQ.backends())# 실행job=execute(circuit,backend=lb_device,shots=1024)fromqiskit.tools.monitorimportjob_monitorjob_monitor(job)result=job.result()# 결과를 텍스트와 차트로 출력counts=result.get_counts(circuit)print("Result:",counts)fromqiskit.tools.visualizationimportplot_histogramplot_histogram(counts)