除以 3 余数为 1 的二进制数的 DFA
DFA for binary numbers that have a remainder of 1 when divided by 3
我需要一个 DFA,用于一组以 1 开头的所有字符串,解释为整数的二进制表示,除以 3 时余数为 1。
例如,二进制数1010 b 是十进制的10。10 除以3 的余数为1,所以1010 在语言中是这样的。然而,二进制数 1111 b 是十进制的 15。当您将 15 除以 3 时,余数为 0,因此 1111 不是该语言。
我在下面附上了我的 DFA。你能检查一下吗?
我觉得是正确的。
你可以做两个简化:
q4代表(mod0),所以你可以把它设为起始状态并去掉 q0 和 q5。 (除非你被要求拒绝以 0 开头的字符串?你的问题没有具体说明。)
q1 和 q3 可以合并。它们都代表 (mod 1) 并且具有相同的转换。
这两项更改将使您正好拥有 3 个状态,每个状态对应一个余数。
我需要一个 DFA,用于一组以 1 开头的所有字符串,解释为整数的二进制表示,除以 3 时余数为 1。
例如,二进制数1010 b 是十进制的10。10 除以3 的余数为1,所以1010 在语言中是这样的。然而,二进制数 1111 b 是十进制的 15。当您将 15 除以 3 时,余数为 0,因此 1111 不是该语言。
我在下面附上了我的 DFA。你能检查一下吗?
我觉得是正确的。
你可以做两个简化:
q4代表(mod0),所以你可以把它设为起始状态并去掉 q0 和 q5。 (除非你被要求拒绝以 0 开头的字符串?你的问题没有具体说明。)
q1 和 q3 可以合并。它们都代表 (mod 1) 并且具有相同的转换。
这两项更改将使您正好拥有 3 个状态,每个状态对应一个余数。