DFA для целого числа в двоичном формате: 1mod5

Я могу создать DFA для 0mod5, но не могу понять, как сделать DFA для 1mod5. Для таких примеров, как 11=1mod5, мой DFA работает. Однако, когда у меня есть что-то вроде 16, 15 — это 01111, и я не знаю, как превратить это в 16.


person sc1892353    schedule 08.09.2015    source источник


Ответы (1)


Начните с состояния s := 0. Каждый новый символ n, который вы читаете, переходит в состояние s := (2s + n) % 5. Примите, если вы находитесь в состоянии s = 1.

person Patrick87    schedule 09.09.2015