JavaScript is required

Biểu thức chính quy nào đúng?

A.

(01)*0 = 0(10)*

B.

(0+1)*0(0+1)*1(0+1) = (0+1)*01(0+1)*

C.

(0+1)*01(0+1)*+1*0* = (0+1)*

D.

Cả ba biểu thức đã cho đều đúng

Trả lời:

Đáp án đúng: D


Đáp án đúng là C. Giải thích: * **A. (01)*0 = 0(10)***: Biểu thức này sai. Ví dụ, chuỗi "010" thuộc (01)*0 nhưng không thuộc 0(10)*. * **B. (0+1)*0(0+1)*1(0+1) = (0+1)*01(0+1)***: Biểu thức này sai. Vế trái yêu cầu phải có ít nhất một ký tự sau số 1 cuối cùng. Ví dụ, chuỗi "01" thuộc (0+1)*01(0+1)* nhưng không thuộc (0+1)*0(0+1)*1(0+1). * **C. (0+1)*01(0+1)* + 1*0* = (0+1)***: Biểu thức này đúng. (0+1)*01(0+1)* đại diện cho tất cả các chuỗi chứa "01", còn 1*0* đại diện cho các chuỗi chỉ chứa các số 1 và 0 (có thể không có). Khi hợp nhất hai tập hợp này, ta được tất cả các chuỗi tạo bởi 0 và 1, tức là (0+1)*. * **D. Cả ba biểu thức đã cho đều đúng**: Do A và B sai nên D sai.

Câu hỏi liên quan