問題文
整数 x(0≤x<8) に対し、f(x)=x2+x+1(mod8) と定義する。
次の条件を満たすオラクル O を、6 量子ビットをもつ量子回路 qc 上に実装せよ。
0≤x<8 と 0≤y<8 を満たす任意の整数の組 (x,y) に対して
∣x⟩∣y⟩O∣x⟩∣y⊕f(x)⟩
ただし、⊕ はビットごとの排他的論理和を表す。
制約
from qiskit import QuantumCircuit, QuantumRegister
def solve() -> QuantumCircuit:
x = QuantumRegister(3)
y = QuantumRegister(3)
qc = QuantumCircuit(x, y)
# Write your code here:
return qc
ヒント
開く
- 例えば x=3 のとき、f(3)=32+3+1=13≡5(mod8) となります。