# Demo 2:Bernstein-Vazirani > 第 4 章 经典量子算法 · [本章演示](index.md) · [代码演示总索引](../index.md) **可视化**:双子图(测量柱+oracle 示意) —— 4-qubit 一次查询读出隐藏 s=1011 **对应教程**:[第 4 章 经典量子算法 中相关小节](https://tutorial.chenzhaoyun.com/quantum-tutorial/ch04-classic-algorithms/) · 依赖安装:`pip install "unified-quantum[visualization,simulation]"` ## 实现要点 经典查询需要 n=4 次, BV 算法只用 1 次即可读出 s. 构造 Oracle: f(x) = s . x (mod 2), 对 s 的每一位 s_i=1 的输入 qubit 施加 CNOT(i, output). 末态 H 后测量, 应 100% 命中 s. ## 完整源码 ```{literalinclude} 02_bv_4qubit.py :language: python :linenos: :caption: demos/ch04-classic-algorithms/02_bv_4qubit.py ``` ## 运行结果 ![Demo 2:Bernstein-Vazirani](02_bv_4qubit.png) ## 运行方式 ```bash # 仓库根目录执行;输出 PNG 到 demos/ch04-classic-algorithms/02_bv_4qubit.png,关键统计到 stdout .venv/bin/python3 demos/ch04-classic-algorithms/02_bv_4qubit.py ``` --- [← 本章演示](index.md) · [↑ 代码演示总索引](../index.md) · [⌂ 教程门户](https://tutorial.chenzhaoyun.com/)