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