Получить случайный бит с заданными вероятностями
В предыдущих упражнениях исходы были равновероятны. Теперь используйте зависимость вероятностей измерения от амплитуд кубита, чтобы получить разные вероятности.
Вход — число x типа Double, $0\le x\le1$. Напишите операцию на языке Q#, возвращающую 0 с вероятностью x и 1 с вероятностью $1-x$.
В пространстве имён Std.Math доступны полезные функции Sqrt, ArcCos и ArcSin.
Заготовка Q#:
namespace Kata {
import Std.Math.*;
operation WeightedRandomBit(x : Double) : Int {
// Implement your solution here...
return -1;
}
}Предложить решение
Войти, чтобы отправить материал.