diff options
| -rwxr-xr-x | challenge-055/ruben-westerberg/perl/ch-1.pl | 34 | ||||
| -rwxr-xr-x | challenge-055/ruben-westerberg/raku/ch-1.raku | 29 |
2 files changed, 63 insertions, 0 deletions
diff --git a/challenge-055/ruben-westerberg/perl/ch-1.pl b/challenge-055/ruben-westerberg/perl/ch-1.pl new file mode 100755 index 0000000000..408c767ff1 --- /dev/null +++ b/challenge-055/ruben-westerberg/perl/ch-1.pl @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +use warnings; +use strict; +use feature qw<:all>; +no warnings "experimental"; +use POSIX qw<round>; +my $n=$ARGV[0]//3; +my $number=join "",map { round rand 1 } 1..$n; +say "Testing on: $number"; +my $maxSize=-1; +my @max; +for (my $l=0;$l<$n;$l++) { + for (my $r=$l;$r<$n;$r++) { + my $str=$number; + substr($str,$l,$r-$l+1)=~ tr/10/01/; + given (my @a=$str=~/1/g ) { + when ($maxSize) { + push @max, [$l,$r]; + } + + when ($_>$maxSize) { + @max=([$l,$r]); + $maxSize=$_; + } + default { + + } + } + + } +} +say "Maximal 1's of count $maxSize given by L/R pairs:"; +say join ", ", @$_ for @max; + diff --git a/challenge-055/ruben-westerberg/raku/ch-1.raku b/challenge-055/ruben-westerberg/raku/ch-1.raku new file mode 100755 index 0000000000..ce1b8b886b --- /dev/null +++ b/challenge-055/ruben-westerberg/raku/ch-1.raku @@ -0,0 +1,29 @@ +#!/usr/bin/env raku + +my $n=@*ARGS[0]//3; +my $number=(1.rand.round xx $n).join: ""; +say "Testing on: $number"; +my $maxSize=-1; +my @max; +loop (my $l=0;$l < $n; $l++) { + loop (my $r=$l;$r < $n;$r++) { + my $str=$number; + tr/10/01/ given $str.substr-rw($l,$r-$l+1); + given (m:g/1/ given $str ).Int { + when $maxSize { + push @max, [$l,$r]; + } + + when ($_>$maxSize) { + @max=[[$l,$r],]; + $maxSize=$_; + } + default { + + } + } + } +} +say "Maximal 1's of count $maxSize given by L/R pairs:"; +say @$_.join: ", " for @max; + |
