Квантовый оракул логического ИЛИ
Входы — N кубитов в произвольном состоянии $|x\rangle$ и целевой кубит в произвольном состоянии $|y\rangle$.
Реализуйте на языке Q# квантовый оракул для функции $f(x)=x_0\vee x_1\vee\cdots\vee x_{N-1}$. Он должен действовать как $|x\rangle|y\rangle\mapsto|x\rangle|y\oplus f(x)\rangle$.
Восстановите исходные значения входного регистра. Решение должно работать на суперпозициях; измерения запрещены.
Заготовка Q#:
namespace Kata {
operation Oracle_Or(x : Qubit[], y : Qubit) : Unit is Adj + Ctl {
// Implement your solution here...
}
}