自己写:按顺序把网表算出来

一张网表是一串「输出线 = 门(输入线…)」。补全 sim:按给定的顺序逐条算,把每条线的值存进字典。

开始练习 →

⚠️ 顺序排错了会怎样

把上一题的网表倒过来算一遍,和正着算的结果比一比。⚠️ 它不会报错——查不到的线一律当 0。

开始练习 →

用三种门搭出 XOR,并验一遍

只用 AND、OR、NOT 搭出 XOR,再和 Python 的 ^ 逐行对一遍真值表。

开始练习 →

n 个输入有多少行

一个有 n 个输入的电路,它的真值表有【0】行。

开始练习 →

两个电路等价的判据

说两个电路「等价」,严格的判据是【0】。

开始练习 →

输入一多,行数涨得有多快

运行下面这段程序,填写它打印出来的结果。 for n in (1, 2, 3, 8): print(2 ** n, end="/")

开始练习 →

两种搭法,同一张表

运行下面这段程序,填写它打印出来的结果。 def f1(a, b): return (a & (1 - b)) | ((1 - a) & b) def f2(a, b): return (a | b) &a

开始练习 →

自己写:把全部输入组合生成出来

补全 rows:生成 n 个输入的全部组合,每组按顺序拼成一串,组与组之间用 / 隔开。

开始练习 →

自己写:判两个电路等不等价

补全 same:把两个函数在全部输入组合上跑一遍,逐行比。用两组电路各判一次。

开始练习 →

从真值表倒推表达式

给一列输出,把输出为 1 的那几行写成「最小项」,用 + 连起来。例如第 01 行为 1,就写成 a'b。

开始练习 →