簡體   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