[英]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.