Оракул инверсии цели для числа семь
Входы — регистр запроса из трёх кубитов в произвольном состоянии $|x\rangle$ и целевой кубит в произвольном состоянии $|y\rangle$.
Напишите операцию на языке Q#, инвертирующую целевой кубит, когда регистр запроса находится в $|111\rangle$, и оставляющую цель без изменения в остальных базисных случаях.
Примеры: при $|x\rangle=|111\rangle$ инвертируйте $|y\rangle$; при $|010\rangle$ или $|101\rangle$ ничего не делайте.
Заготовка Q#:
namespace Kata {
operation IsSeven_MarkingOracle(x : Qubit[], y : Qubit) : Unit is Adj + Ctl {
// Implement your solution here...
}
}