Klaus Mock: Denksport - ein kleines Informatik-Rätsel

Beitrag lesen

Hallo,

Stellt euch vor ihr habt eine Sprache die sich aus nur drei Buchstaben zusammensetzt! Es geht also um eine Sprache aus dem Alphabet {a,b,c}*, WOBEI vor jedem 'c' zumindest ein 'a' oder 'b' stehen MUSS. Ansonsten Syntaxfehler ;-) Anders gesagt: Es kann kein c vorkommen, vor dem nicht entweder mindestens ein a oder b steht!

also
/^([ab]c?)+$/

Zuerst muß ein a oder b kommen [ab], dann eventuell 'c' (c?). das ganze mindestens einmal passieren (+).

die Begrenzer (^ und $) brauchst Du, damit nicht z.B. 'zab' erkennst, wenn allerding vorher schon feststeht, daß es nur die gegebenen drei Zeichen im String gibt, dann kannst Du das auch weglassen. Alternativ könntest Du auch

hier mein Test-code

@worte = ('aaa', 'abcabc', 'ac', 'bcbbbb', 'ba', 'cabac',
           'c', 'abccb','abcabcc');

foreach $wort(@worte)
{
print "$wort ist ".
            ($wort=~/^([ab]c?)+$/?"":"nicht ").
             "richtig\n";
}

Grüße
  Klaus

0 71

Denksport - ein kleines Informatik-Rätsel

Bernhard Peissl
  • menschelei
  1. 0
    AlexBausW
    1. 0
      Bernhard Peissl
      1. 0
        Bernhard Peissl
      2. 0
        n.d. parker
        1. 0
          Bernhard Peissl
  2. 0
    F.Heyer
    1. 0
      Bernhard Peissl
      1. 0
        F.Heyer
        1. 0
          Bernhard Peissl
          1. 0
            F.Heyer
            1. 0
              Bernhard Peissl
              1. 0

                Obfuscated Perl Contest

                n.d. parker
                • perl
                1. 0
                  Bernhard Peissl
                  1. 0
                    Bernhard Peissl
    2. 0
      Christian Kruse
      1. 0
        F.Heyer
        1. 0
          Christian Kruse
          1. 0
            F.Heyer
            1. 0
              Bernhard Peissl
              1. 0
                Christian Kruse
                1. 0
                  F.Heyer
              2. 0
                F.Heyer
                1. 0
                  Bernhard Peissl
                  1. 0
                    F.Heyer
      2. 0
        Björn Höhrmann
        1. 0
          Linksetzer
  3. 0
    Marko
    1. 0
      Marko
      1. 0
        Bernhard Peissl
        1. 0
          Marko
          1. 0
            Bernhard Peissl
            1. 0
              Marko
              1. 0
                Bernhard Peissl
                1. 0
                  Marko
                2. 0
                  Michael N.
                  1. 0
                    Bernhard Peissl
                    1. 0
                      Michael N.
    2. 0
      Bernhard Peissl
      1. 0
        n.d. parker
        1. 0
          Bernhard Peissl
          1. 0
            n.d. parker
  4. 0
    Klaus Mock
    1. 0
      Klaus Mock
    2. 0
      Bernhard Peissl
      1. 0
        AlexBausW
        1. 0
          Bernhard Peissl
      2. 0
        Klaus Mock
        1. 0
          Bernhard Peissl
          1. 0
            Klaus Mock
            1. 0
              Bernhard Peissl
              1. 0
                Klaus Mock
                1. 0
                  Bernhard Peissl
                  1. 0
                    Bernhard Peissl
                  2. 0
                    Klaus Mock
                    1. 0
                      Bernhard Peissl
                      1. 0
                        Klaus Mock
      3. 0
        Björn Höhrmann
    3. 0
      Björn Höhrmann
      1. 0
        Linksetzer
        1. 0
          Bernhard Peissl
        2. 0
          Björn Höhrmann
  5. 0
    Björn Höhrmann
    1. 0
      Bernhard Peissl
      1. 0
        Björn Höhrmann
        1. 0
          Bernhard Peissl
          1. 0
            AlexBausW
            1. 0
              Bernhard Peissl
              1. 0
                AlexBausW
  6. 0
    Michael N.
    1. 0
      Bernhard Peissl