aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-009/ruben-westerberg/perl5/ch-1.pl12
-rwxr-xr-xchallenge-009/ruben-westerberg/perl6/bug.p613
-rwxr-xr-xchallenge-009/ruben-westerberg/perl6/ch-1.p611
-rwxr-xr-xchallenge-009/ruben-westerberg/perl6/ch-2.p637
4 files changed, 73 insertions, 0 deletions
diff --git a/challenge-009/ruben-westerberg/perl5/ch-1.pl b/challenge-009/ruben-westerberg/perl5/ch-1.pl
new file mode 100755
index 0000000000..5bd1b73815
--- /dev/null
+++ b/challenge-009/ruben-westerberg/perl5/ch-1.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/env perl
+#
+my $result;
+for(my $i=0; 1; $i++){
+ my %bag;
+ my $sq= $i**2;
+ $bag{$_}++ foreach (split "", $sq);
+ $result=$sq;
+ last if keys %bag >= 5;
+}
+print $result ."\n";
+
diff --git a/challenge-009/ruben-westerberg/perl6/bug.p6 b/challenge-009/ruben-westerberg/perl6/bug.p6
new file mode 100755
index 0000000000..85b4f6ff94
--- /dev/null
+++ b/challenge-009/ruben-westerberg/perl6/bug.p6
@@ -0,0 +1,13 @@
+#!/usr/bin/env perl6
+my @inputs= [1,2,2,6];
+say do for @inputs {
+ state $prev=$_;
+ state $r=1;
+ NEXT { $prev=$_};
+ $r= ($prev !== $_) ?? $r+1 !! $r;
+ say $r;
+ $r;
+};
+say (for @inputs {
+ $_*2;
+});
diff --git a/challenge-009/ruben-westerberg/perl6/ch-1.p6 b/challenge-009/ruben-westerberg/perl6/ch-1.p6
new file mode 100755
index 0000000000..a8aff4d55f
--- /dev/null
+++ b/challenge-009/ruben-westerberg/perl6/ch-1.p6
@@ -0,0 +1,11 @@
+#!/usr/bin/env perl6
+#
+#Find the first square number that has at least 5 distinct digits
+my $result;
+(0..*).map({
+ my $sq= $_**2;
+ $result=$sq;
+ last if ($sq.comb.Bag.keys)>=5;
+
+});
+say $result;
diff --git a/challenge-009/ruben-westerberg/perl6/ch-2.p6 b/challenge-009/ruben-westerberg/perl6/ch-2.p6
new file mode 100755
index 0000000000..3c82c0ad59
--- /dev/null
+++ b/challenge-009/ruben-westerberg/perl6/ch-2.p6
@@ -0,0 +1,37 @@
+#!/usr/bin/env perl6
+
+my @inputs=@*ARGS>0??@*ARGS!![10,20,20,51];
+
+sub rank1224 (@inputs) {
+ #my @d=reverse sort input;
+ my @r=(for @inputs.kv {
+ state $prev=-1;
+ state $count=1;
+ $count= $prev !== $^v ?? 1!! $count+1;
+ $prev=$v;
+ $^k;
+ $k+2-$count;
+ });
+ #@r.elems +1 <<-<< @r.reverse
+
+}
+sub rank1334 (@inputs) {
+ my @d=reverse @inputs;
+ my @r=rank1224(@d);
+ @r.elems +1 <<-<< @r.reverse
+}
+
+sub rank1223 (@input) {
+ @input.map({
+ state $prev=$_;
+ state $r=1;
+ NEXT { $prev=$_};
+ $r= ($prev !== $_) ?? $r+1 !! $r;
+ #say $r;
+ $r;
+ });
+}
+
+say rank1224(@inputs);
+say rank1334(@inputs);
+say rank1223(@inputs);