z3库进阶
First Post:
Last Update:
Last Update:
Z3库使用
简单介绍z3
众所周知z3库是一个优秀的求解器,可以求解给出的给定的等式。
简单的库内函数:
1 |
|
z3的一些特性
先看一段z3代码,猜测一下输出的结果。
1 |
|
输出结果是:
1 |
|
从这段代码可以看出一些z3的特性,首先是z3声明未知数的命名,可以看到name其实只有在最后显示计算结果的时候才会用到,之前的算式与未知数的命名是无关的,只与存放未知数的变量名有关,当然最好保证变量名与未知数名的一致性。
第二点,z3是可以理解等式成立的先后顺序的,这里两个判断式都是判断a与一个值是否相等,但是中间插入了运算,可以看到z3是能正确求解得。
z3的求解同时也可以配合python中的循环与判断语句,来求解更复杂的式子。