# Part 5 lab — Grover skeleton from Sansqrit samples simulate { let n_qubits = 5 let q = quantum_register(n_qubits) let target = 13 for i in range(n_qubits) { H(q[i]) } let n_iter = int(PI / 4 * sqrt(2 ** n_qubits)) for iter in range(n_iter) { # Oracle: flip phase of target-like state for i in range(n_qubits) { if ((target >> i) & 1) == 0 { X(q[i]) } } H(q[n_qubits - 1]); Toffoli(q[0], q[1], q[2]); H(q[n_qubits - 1]) for i in range(n_qubits) { if ((target >> i) & 1) == 0 { X(q[i]) } } # Diffusion for i in range(n_qubits) { H(q[i]); X(q[i]) } H(q[n_qubits - 1]); Toffoli(q[0], q[1], q[2]); H(q[n_qubits - 1]) for i in range(n_qubits) { X(q[i]); H(q[i]) } } print("Grover result:", measure_all(q, shots=1000)) }