aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-055/ruben-westerberg/perl/ch-1.pl34
-rwxr-xr-xchallenge-055/ruben-westerberg/raku/ch-1.raku29
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;
+