aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-196/luca-ferrari/raku/ch-2.p622
1 files changed, 22 insertions, 0 deletions
diff --git a/challenge-196/luca-ferrari/raku/ch-2.p6 b/challenge-196/luca-ferrari/raku/ch-2.p6
new file mode 100644
index 0000000000..69289313d7
--- /dev/null
+++ b/challenge-196/luca-ferrari/raku/ch-2.p6
@@ -0,0 +1,22 @@
+#!raku
+
+# Perl Weekly Challenge 196
+
+sub MAIN( *@list where { @list.grep( * ~~ Int ).elems == @list.elems } ) {
+
+ my @ranges;
+ my $start = -1;
+ my $end = -1;
+ for 0 .. @list.elems {
+ next if ! $_;
+ next if $_ <= $end;
+
+ $start = $_;
+ $end = $start;
+
+ $end++ while ( $end < @list.elems && @list[ $end + 1 ] == @list[ $end ] + 1 );
+ @ranges.push: [ $start, $end ] if ( $start < $end );
+ }
+
+ @ranges.join( "\n" ).say;
+}