2017-10-21 16 views
1

https://cs.stackexchange.com/questions/82775/to-prove-or-disprove-that-language-is-regular/82780#82780정규 표현식

에 언어 L을 변환하는 방법은 위의 링크에 질문을 게시, 나는 확실히 내가 원하는 대답을하지 않았다. 번호가 0부터 시작될 수 있다면 링크에서 제공되는 대답은 정확할 것입니다. 그러나 나는 그것이 허용되지 않는다는 것을 지적하고 싶습니다. 여기서 설명하는 언어는 숫자의 합이 2의 배수가되도록 정수 집합입니다. 또는 짝수 개의 홀수 번호가있는 숫자 세트 (예 : 2354는 2 개의 홀수가 3,5입니다). 그런 언어에 대한 정규 표현식을 어떻게 얻을 수 있습니까? 더 이상의 통찰력은 인정 될 것이다.

답변

0

이미 짝수 정수를 찾은 것으로 가정합니다. 그런 다음 임의의 홀수 숫자

결과 것 뒤에 0 이상의 짝수 숫자 다음 홀수 숫자를 추가 짝수 숫자 또는

  • 를 추가하거나

    • 하여 확장 할 또 다른 짝수 정수가 될 수 있습니다.

      이제 시작하는 방법이 필요합니다. 짝수 합의 정수는 홀수 숫자 뒤에 0 이상의 짝수 숫자 뒤에 하나

      • 0이 아닌 짝수 숫자 또는
      • 홀수 숫자로 시작

      우리 이것을 정규 표현식으로 쓸 수 있습니다 :

      ([2468]|[13579][02468]*[13579])([02468]|[13579][02468]*[13579])* 
      
  • +0

    브릴리언트! 훌륭한 설명에 감사드립니다! – Ted