2014-11-08 87 views
2

我试图创建DFA或正则表达式语言正则表达式涉及模运算

L = {一ň b | n mod 3 = m mod 3}`

例如,L包含字符串aaabbb,aaabbbbbb和abbbb。

但是,我在这里遇到了任何进展。我怎样才能做到这一点?

+1

你卡在哪里?为什么?你不明白什么? – Ben 2014-11-08 13:56:19

+0

那里有什么分歧?表达并不总是有意义的。 – simonzack 2014-11-08 13:56:36

+0

或者甚至没有意义。第一个表达式是一个整数。 – simonzack 2014-11-08 13:57:55

回答

2

只有三个可能的余数模3。您可以通过列出处理这三种情况中的每一种的正则表达式,然后将它们联合在一起来构建该语言的正则表达式。这里有一个可能的答案:

(aaa)*(bbb)* | a(aaa)*b(bbb)* | aa(aaa)*bb(bbb)* 

希望这有助于!