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

Равная суперпозиция двух различных битовых строк

Вход — $N\ge1$ кубитов в $|0\ldots0\rangle$. Также даны две строки bits1, bits2 длины $N$ в виде Bool[]. Значения false и true соответствуют $|0\rangle$ и $|1\rangle$. Строки гарантированно различаются хотя бы в одном бите.

Напишите операцию на языке Q#, подготавливающую равную суперпозицию заданных базисных состояний.

Например, для [false,true,false] и [false,false,true] требуется $(|010\rangle+|001\rangle)/\sqrt2$.

Заготовка Q#:

namespace Kata {
    operation TwoBitstringSuperposition (qs : Qubit[], bits1 : Bool[], bits2 : Bool[]) : Unit is Adj + Ctl {
        // Implement your solution here...

    }    
}

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

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