問題文
整数 が入力として与えられる。
次の条件を満たすオラクル を、 量子ビットをもつ量子回路 上に実装せよ。
と を満たす任意の整数の組 に対して
- の場合
- の場合
制約
from qiskit import QuantumCircuit, QuantumRegister
def solve(n: int) -> QuantumCircuit:
m, k = QuantumRegister(1), QuantumRegister(n)
qc = QuantumCircuit(m, k)
# Write your code here:
return qc
ヒント
開く
- 次のようにして、量子レジスタ に含まれるすべての量子ビットに何らかの量子ゲート を作用させることができます。
from qiskit import QuantumRegister
k = QuantumRegister(n)
qc.g(k)
- 次のようにして、何らかの量子ゲート の 複数制御ゲートを作用させることができます。
from qiskit.circuit.library import Gate
qc.append(Gate().control(n - 1), range(n))