diff options
| -rw-r--r-- | challenge-149/luca-ferrari/blog-1.txt | 1 | ||||
| -rw-r--r-- | challenge-149/luca-ferrari/blog-2.txt | 1 | ||||
| -rwxr-xr-x | challenge-149/luca-ferrari/raku/ch-1.p6 | 13 | ||||
| -rwxr-xr-x | challenge-149/luca-ferrari/raku/ch-2.p6 | 15 |
4 files changed, 30 insertions, 0 deletions
diff --git a/challenge-149/luca-ferrari/blog-1.txt b/challenge-149/luca-ferrari/blog-1.txt new file mode 100644 index 0000000000..c98c22fb0d --- /dev/null +++ b/challenge-149/luca-ferrari/blog-1.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2022/01/24/PerlWeeklyChallenge149.html#task1 diff --git a/challenge-149/luca-ferrari/blog-2.txt b/challenge-149/luca-ferrari/blog-2.txt new file mode 100644 index 0000000000..63082e51c7 --- /dev/null +++ b/challenge-149/luca-ferrari/blog-2.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2022/01/24/PerlWeeklyChallenge149.html#task2 diff --git a/challenge-149/luca-ferrari/raku/ch-1.p6 b/challenge-149/luca-ferrari/raku/ch-1.p6 new file mode 100755 index 0000000000..2282387013 --- /dev/null +++ b/challenge-149/luca-ferrari/raku/ch-1.p6 @@ -0,0 +1,13 @@ +#!raku + +sub MAIN( Int $N where { $N > 0 } ) { + my @fibonacci = 1, 1, * + * ... *; + my $fibonacci-index = $N; + my @numbers = lazy gather { + for 0 .. Inf -> $i { + take $i and $fibonacci-index += $N if @fibonacci[ 0 .. $fibonacci-index ].grep( $i.split( '' ).sum );; + } + }; + + @numbers[ 0 .. $N - 1 ].join( ',' ).say; +} diff --git a/challenge-149/luca-ferrari/raku/ch-2.p6 b/challenge-149/luca-ferrari/raku/ch-2.p6 new file mode 100755 index 0000000000..42ae204072 --- /dev/null +++ b/challenge-149/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,15 @@ +#!raku + +sub MAIN( Int $base where { $base >= 2 } ) { + my @alphabet = 0 .. min( $base, 9 ) - 1; + @alphabet.push: |('A' .. 'Z' )[ 0 .. $base - 10 - 1 ] if $base > 10; + + my $solution = 0; + for @alphabet.permutations { + my $current = $_.join.parse-base( $base ); + $solution = $current if $current > $solution && $current.sqrt ~~ Int; + } + + + $solution.base( $base ).say; +} |
