Суперпозиция чётных или нечётных чисел
Вход — $N\ge1$ кубитов в $|0\ldots0\rangle$. Также дано логическое isEven.
Напишите операцию на языке Q#, подготавливающую суперпозицию всех чётных чисел при isEven=true или всех нечётных при false. Числа записываются со старшим разрядом первым: $|01\rangle$ означает 1, $|10\rangle$ — 2.
Например, при $N=2$ для false требуется $(|01\rangle+|11\rangle)/\sqrt2$, для true — $(|00\rangle+|10\rangle)/\sqrt2$.
Заготовка Q#:
namespace Kata {
operation EvenOddNumbersSuperposition(qs : Qubit[], isEven : Bool) : Unit is Adj + Ctl {
// Implement your solution here...
}
}Предложить решение
Войти, чтобы отправить материал.