aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-122/luca-ferrari/blog-1.txt1
-rw-r--r--challenge-122/luca-ferrari/blog-2.txt1
-rw-r--r--challenge-122/luca-ferrari/raku/ch-1.p624
-rw-r--r--challenge-122/luca-ferrari/raku/ch-2.p621
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;
+}