№ 1679Квантовые вычисленияУровень 3

Суперпозиция строк с заданной чётностью числа единиц

Вход — $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...

    }
}

Предложить решение

Войти, чтобы отправить материал.