【问题标题】:DFA for binary numbers that have a remainder of 1 when divided by 3除以 3 时余数为 1 的二进制数的 DFA
【发布时间】:2021-05-10 10:29:12
【问题描述】:

我需要一个 DFA 用于一组以 1 开头的所有字符串,将其解释为整数的二进制表示,除以 3 时余数为 1。

例如,二进制数 1010 b 是十进制的 10。当您将 10 除以 3 时,余数为 1,因此 1010 在语言中。但是,二进制数 1111 b 是十进制 15。当您将 15 除以 3 时,余数为 0,因此 1111 不在该语言中。

我在下面附上了我的 DFA。你能查一下吗?

【问题讨论】:

    标签: dfa


    【解决方案1】:

    在我看来是正确的。

    你可以做两个简化:

    1. q4 代表 (mod 0),所以你可以把它设为起始状态并去掉 q0 和 q5。 (除非您需要拒绝以 0 开头的字符串?您的问题没有具体说明。)

    2. q1 和 q3 可以合并。它们都代表 (mod 1) 并且具有相同的转换。

    这两个更改会为您留下 3 个状态,每个状态对应一个余数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多