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

Суперпозиция чётных или нечётных чисел

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

    }
}

Сообщить об ошибке

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