PUERTA | PUERTA CS 2021 | Juego 2 | Pregunta 57

¿Cuál de las siguientes expresiones regulares representa el conjunto de todos los números binarios que son divisibles por tres? Suponga que la cuerda ϵ es divisible por tres.
(A) (0+1(01*0)*1)*
(B) (0+11+10(1+00)*01)*
(C) (0*(1(01*0)*1) *)*
(D) (0+11+11(1+00)*00)*

Respuesta: (A) (B) (C)
Explicación: Los números binarios divisibles por 3 se dividen en 3 categorías:

Números con dos 1 consecutivos o dos 1 separados por un número par de 0. Efectivamente, cada par se “cancela” a sí mismo.
(ej. 11, 110, 1100,1001,10010, 1111)

(decimales: 3, 6, 12, 9, 18, 15)

Números con tres 1 cada uno separado por un número impar de 0. Estos trillizos también se “cancelan” a sí mismos.
(ej. 10101, 101010, 1010001, 1000101)

(decimales: 21, 42, 81, 69)

Alguna combinación de las dos primeras reglas (incluidas una dentro de otra)
(por ejemplo, 1010111, 1110101, 1011100110001)

(decimales: 87, 117, 5937)

Entonces, una expresión regular que tenga en cuenta estas tres reglas es simplemente:

0*(1(00)*10*|10(00)*1(00)*(11)*0(00)*10*)*0*


Quiz of this Question

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *