diff options
| -rw-r--r-- | challenge-122/luca-ferrari/blog-1.txt | 1 | ||||
| -rw-r--r-- | challenge-122/luca-ferrari/blog-2.txt | 1 | ||||
| -rw-r--r-- | challenge-122/luca-ferrari/raku/ch-1.p6 | 24 | ||||
| -rw-r--r-- | challenge-122/luca-ferrari/raku/ch-2.p6 | 21 |
4 files changed, 47 insertions, 0 deletions
diff --git a/challenge-122/luca-ferrari/blog-1.txt b/challenge-122/luca-ferrari/blog-1.txt new file mode 100644 index 0000000000..30f4db5b5d --- /dev/null +++ b/challenge-122/luca-ferrari/blog-1.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2021/07/20/PerlWeeklyChallenge122.html#task1 diff --git a/challenge-122/luca-ferrari/blog-2.txt b/challenge-122/luca-ferrari/blog-2.txt new file mode 100644 index 0000000000..fc70c70d9a --- /dev/null +++ b/challenge-122/luca-ferrari/blog-2.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2021/07/20/PerlWeeklyChallenge122.html#task2 diff --git a/challenge-122/luca-ferrari/raku/ch-1.p6 b/challenge-122/luca-ferrari/raku/ch-1.p6 new file mode 100644 index 0000000000..4a9675dfba --- /dev/null +++ b/challenge-122/luca-ferrari/raku/ch-1.p6 @@ -0,0 +1,24 @@ +#!raku + +multi sub MAIN( *@N where { @N.elems == @N.grep( * ~~ Int ).elems }) { + my @average; + @average.push: (@N[ 0 .. @average.elems - 1 ].sum + $_) / ( @average.elems + 1 ) for @N; + + + @average.say; +} + + +multi sub MAIN() { + "Insert a number at time".say; + + my @average; + my $sum = 0; + for lines() { + "Not a number".say && next if $_ !~~ / \d+ /; + $sum += $_; + @average.push: $sum / ( @average.elems + 1 ); + "Average trend so far: { @average.say }"; + + } +} diff --git a/challenge-122/luca-ferrari/raku/ch-2.p6 b/challenge-122/luca-ferrari/raku/ch-2.p6 new file mode 100644 index 0000000000..751d98d5ff --- /dev/null +++ b/challenge-122/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,21 @@ +#!raku + +sub MAIN( Int $S ) { + my @available-points = 1, 2, 3; + my $begin = ( @available-points[ 0 ] x $S ).Int; + my $end = ( @available-points[ * - 1 ] x $S ).Int; + my @scores; + + + for ( $begin .. $end ) { + my @digits = $_.split( '', :skip-empty ).grep( * == any( @available-points ) ); + next if ! @digits.grep: $_ for @available-points; + next if @digits.sum != $S; + my $score = @digits.grep( * == any( @available-points ) ).join;; + @scores.push: $score if ( ! @scores.grep( $score ) ); + + } + + + @scores.join( "\n" ).say; +} |
