正規表現 (0|1)*00 が表す言語に含まれる2進列はどれか。
選択肢をタップすると、その場で答え合わせできます
正解と解説を見る
正解 B10100
解説
正解は「10100」です。(0|1)* は0と1からなる任意の列(空列を含む)を表し、その後に00が続くので、この正規表現は「00で終わる2進列」全体を表します。10100 は、101 の後に00が続く形です。2進数として見ると、00で終わることは4の倍数であることに相当し、10100 は10進数の20です。「00101」は00で始まりますが、末尾が01なので含まれません。「1001」は途中に00を含みますが、末尾が01です。「0」は文字が1個しかなく、少なくとも2文字の00で終わるという条件を満たしません。正規表現の末尾にある固定の文字列は、「その文字列で終わる」ことを表します。
- #正規表現
この調子でオートマトン・形式言語・計算理論を続けて解く
▶ この科目の連続演習へ進む(10問)