diff options
Diffstat (limited to 'challenge-042')
| -rw-r--r-- | challenge-042/ulrich-rieke/raku/ch-1.p6 | 5 | ||||
| -rw-r--r-- | challenge-042/ulrich-rieke/raku/ch-2.p6 | 31 |
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-042/ulrich-rieke/raku/ch-1.p6 b/challenge-042/ulrich-rieke/raku/ch-1.p6 new file mode 100644 index 0000000000..8cd58c1645 --- /dev/null +++ b/challenge-042/ulrich-rieke/raku/ch-1.p6 @@ -0,0 +1,5 @@ +use v6 ; + +for (1..50) -> $i { + say "Decimal $i = Octal " ~ $i.base(8).Str ; +} diff --git a/challenge-042/ulrich-rieke/raku/ch-2.p6 b/challenge-042/ulrich-rieke/raku/ch-2.p6 new file mode 100644 index 0000000000..8ffe2f3e29 --- /dev/null +++ b/challenge-042/ulrich-rieke/raku/ch-2.p6 @@ -0,0 +1,31 @@ +use v6 ; + +sub validateBrackets( Str $term --> Bool) { + if ( $term ~~ /^ ')' | '(' $/ ) { + return False ; + } + return countLetter( $term , '(') == countLetter( $term , ')') ; +} + +sub countLetter( Str $term , Str $letter --> Int) { + my $count = 0 ; + for ( $term.comb) -> $let { + if ( $let eq $letter ) { + $count++ ; + } + } + return $count ; +} + +sub generateString( Int $length --> Str ) { + return ( '(' , ')' ).roll( $length ).join.Str ; +} + +my @generated ; +for (1..10) -> $i { + @generated.push( generateString( $i ) ) ; +} +for @generated -> $bracketstring { + print "$bracketstring-" ; + say validateBrackets( $bracketstring ) ?? "OK" !! "NOT OK" ; +} |
