B1: Uniform Superposition

実行時間制限:3 秒

メモリ制限:512 MiB

配点:100点

Writer:PSL

解説

nn 個の量子ビットそれぞれにアダマールゲートを作用させることで、この問題を解くことができます。

0...0nHn12n(0...0n+...+1...1n)\begin{equation} \ket{0...0}_n \xrightarrow{H^{\otimes n}} \frac{1}{\sqrt{2^n}} (\ket{0...0}_n + ... + \ket{1...1}_n) \end{equation}

解答例

解答例は以下の通りです。

from qiskit import QuantumCircuit
 
 
def solve(n: int) -> QuantumCircuit:
    qc = QuantumCircuit(n)
 
    qc.h(range(n))
 
    return qc

単に for ループを用いて実装することもできます。

from qiskit import QuantumCircuit
 
 
def solve(n: int) -> QuantumCircuit:
    qc = QuantumCircuit(n)
    
    for i in range(n):
      qc.h(i)
 
    return qc