The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+14 votes

The smallest finite automaton which accepts the language $\{x |$ length of $x$ is divisible by $3\}$ has

  1. $2$ states
  2. $3$ states
  3. $4$ states
  4. $5$ states
asked in Theory of Computation by Veteran (59.9k points)
edited by | 1.7k views
Modulo 3 gives remainder as ( 0, 1, 2 )

3 states needed

3 Answers

+21 votes
Best answer

Answer (B). It is $3$ states as we need a state each for length mod $3 = 0, 1$ and $2$.

answered by (191 points)
edited by

Can anybody please explain why 2 states is wrong answer ?

Please find the below diagram in reference to my query.

@Sid Try string "1". It will be accepted by your machine though length of string isn't divisible by 3.

General formula: a (mod n) then we will have n states in minimal DFA, which is unique. If DFA isn't minimal we may have more number of states.
Yes now I understand the point.

My answer would be applicable for length as odd number rather than as divisible by 3.
@Sid Yes for the odd number it is applicable with q0 as starting state.

In the question it is saying {x | length of the x is divisible by 3}  not the x itself is divisible by 3 . So, the

answer should be B. 3 states but diagram would be 



what about length 0,why initial state is final state?

+2 votes

Option B is Correct

answered by Active (4.1k points)
+1 vote

Correct option is B. 

answered by Active (1.7k points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
47,894 questions
52,261 answers
67,679 users