有限状态自动机:输入串3进制数,输出模5的余数

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:42:24
有限状态自动机:输入串为3进制数,输出为模5的余数(0,1,2,3,4)
请问高手怎么构造状态转换机啊,这个是我们的作业,谢谢了!
指点一下也好!加我qq也好,651691022。谢谢!

模5的余数总共只有5个,这就是5个状态。初始状态为0,每个状态也都是最终状态。
三进制每位数有3种可能,因此每种状态有3种跃迁可能。

把3进制串理解成从高位到低位一个一个输入,每条输入就是一次跃迁,状态就是到当前输入为止的3进制数模5的余数。

跃迁的函数如下:
目标状态 = (当前状态 * 进制数(此题为3) + 串的当前位)% 5。

举例如下:

三进制数 12112

当前状态 输入 跃迁
0(start) 1 (0*3+1) % 5 = 1
1 2 (1*3+2) % 5 = 0
0 1 (0*3+1) % 5 = 1
1 1 (1*3+1) % 5 = 4
4 2 (4*3+2) % 5 = 4 (最终结果)

原理就是以二进制为中间过程,先把3进制数转换成二进制,再按要求转换成其他进制数.二进制对于任何进制数的转换都会比较容易.