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

W-состояние на числе кубитов, равном степени двойки

Вход — $N=2^k$ кубитов в $|0\ldots0\rangle$. Напишите операцию на языке Q#, подготавливающую W-состояние: равную суперпозицию $N$ базисных строк длины $N$, в каждой из которых ровно одна единица.

Например, при $N=4$ требуется $(|1000\rangle+|0100\rangle+|0010\rangle+|0001\rangle)/2$.

Подсказка источника: модификатор Controlled позволяет выполнять произвольные управляемые операции.

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

namespace Kata {
    operation WState_PowerOfTwo (qs : Qubit[]) : Unit is Adj + Ctl {
        // Implement your solution here...

    }
}