你能做一个 DFA/NFA/ Lambda NFA 来判断一个数是否是素数吗?

Can you make a DFA/NFA/ Lambda NFA for determining whether a number is prime or not?

如题所示,可以吗?

不,这不可能。有几种方法可以将“所有素数的集合”编码为一种语言,而这样做的标准方法(以二进制形式写出数字,写出等于数字的计数标记等)是正常。

正式证明这有点棘手,但使用常规语言的泵引理或 Myhill-Nerode 定理是可行的。争论的症结归结为这样一个事实,即反复复制质数的一部分最终会得到一个非质数,这就是证明的技术细节所在。

希望对您有所帮助!