diff options
| -rwxr-xr-x | challenge-009/ruben-westerberg/perl5/ch-1.pl | 12 | ||||
| -rwxr-xr-x | challenge-009/ruben-westerberg/perl6/bug.p6 | 13 | ||||
| -rwxr-xr-x | challenge-009/ruben-westerberg/perl6/ch-1.p6 | 11 | ||||
| -rwxr-xr-x | challenge-009/ruben-westerberg/perl6/ch-2.p6 | 37 |
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); |
