from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
from qiskit.circuit.library import U3Gate

# Crearea unui circuit cuantic cu 1 qubit și 1 bit clasic
qc = QuantumCircuit(1, 1)

# Aplicarea porții Hadamard pentru a crea superpoziția stărilor |0> și |1>
qc.h(0)

# Introducerea unei faze între stări utilizând poarta U3 pentru a simula interferența
# U3(θ, φ, λ) - în acest caz, alegem φ pentru a introduce o fază
qc.append(U3Gate(0, 0, 1), [0])

# Aplicarea din nou a porții Hadamard
qc.h(0)

# Măsurarea qubitului și stocarea rezultatului în bitul clasic
qc.measure(0, 0)

# Executarea circuitului pe un simulator cuantic
simulator = Aer.get_backend('qasm_simulator')
result = execute(qc, simulator, shots=1000).result()

# Afișarea rezultatelor sub formă de histogramă
counts = result.get_counts(qc)
plot_histogram(counts)
