Автоматизация конечных состояний, которая принимает сумму цифр, деленную на n

Конечный автомат, который принимает, если сумма цифр делится на 3 .

Я пытаюсь построить конечный автомат принимает, если сумма цифр делится на п. До сих пор я был в состоянии сделать для n=2 и n=3, но я не нашел каких-либо обобщенных шагов, которые я мог бы выполнить. Любая помощь приветствуется.

2 ответа

Этот вопрос немного расплывчат, но кажется, что вы пытаетесь принять поток чисел, если они делятся на n.

Если это так, я бы посоветовал вам собрать данные, разделить на цифры, суммировать цифры и использовать мод. Некоторое разъяснение помогло бы моему ответу все же.

Кажется, что ваш алфавит является троичным и состоит из 0, 1 и 2. Для любого n у вас должен быть n-конечный автомат, причем каждое состояние представляет остаток при делении на n. Переход для любого x, равного 0, 1 или 2, из состояния z перейдет в состояние (z+x)%n, где "%" представляет оператор остатка.

Другие вопросы по тегам