繁体   English   中英

设计接受可被 7 整除的十进制字符串的 DFA

[英]Design DFA accepting decimal strings divisible by 7

我是一名学习 DFA 的学生,正在寻找可以找到十进制数是否可以被 7 整除的 DFA。

今天我已经解决了数字 2、3、4、5、6、8、9 的可分性问题,但我无法解决数字 7 的这个问题。我在网上搜索过,但找不到任何帮助我的答案或者对我来说是可以理解的。

所以现在我在这里寻求帮助。 提前致谢。

基本思想是我们将跟踪我们目前看到的数字的当前值,即模 7。 每个新数字取旧数字,乘以 10,然后添加新数字。 因此,从x(mod 7)对应的状态开始,在右边加上数字d就意味着我们进入了10x + d(mod 7)对应的状态。 这个DFA有70个状态(数字0-9乘以7除以0-6后的余数)。

q    s    q'
------------
q0   0    q0
q0   1    q1
q0   …    …
q0   6    q6

q1   0    q3
q1   1    q4
q1   …    …
q1   6    q2

…

q6   0    q4
q6   1    q5
q6   …    …
q6   6    q3

考虑对数字 36736 的处理:

(q0) --3--> (q3) --6--> (q1) --7--> (q3) --3--> (q5) --6--> (q0)
0           0*10+3      3*10+6      1*10+7      3*10+3      5*10+6
            0+3         30+6        10+7        30+3        50+6
            3           36          17          33          56
            3           1           3           5           0

这个数字可以被七整除,因为我们最终处于状态 q0,该状态对应于零模七 - 意味着七的偶数倍。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM