2017-10-21 36 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