aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2021-12-20 15:55:03 +0100
committerLuca Ferrari <fluca1978@gmail.com>2021-12-20 15:55:03 +0100
commit15594821cbb4b8929a5d13f40a8abd53408cfcbb (patch)
tree6f9499d06b860ed57455851e8017adccea34311b
parent6970d0fd460308be9ca07b9bb2870b74ed894863 (diff)
downloadperlweeklychallenge-club-15594821cbb4b8929a5d13f40a8abd53408cfcbb.tar.gz
perlweeklychallenge-club-15594821cbb4b8929a5d13f40a8abd53408cfcbb.tar.bz2
perlweeklychallenge-club-15594821cbb4b8929a5d13f40a8abd53408cfcbb.zip
Task 2 done
-rwxr-xr-xchallenge-144/luca-ferrari/raku/ch-2.p640
1 files changed, 40 insertions, 0 deletions
diff --git a/challenge-144/luca-ferrari/raku/ch-2.p6 b/challenge-144/luca-ferrari/raku/ch-2.p6
new file mode 100755
index 0000000000..68ed1b9ebe
--- /dev/null
+++ b/challenge-144/luca-ferrari/raku/ch-2.p6
@@ -0,0 +1,40 @@
+#!raku
+
+# Sums all the couple of numbers
+# in only direction, skipping the duplicated
+# values
+sub do-sum( @array ) {
+ my %sums;
+
+ for 0 .. @array.end -> $index-left {
+ for $index-left ^.. @array.end -> $index-right {
+ next if $index-left == $index-right;
+
+ %sums{ @array[ $index-left ] + @array[ $index-right ] }++;
+ }
+ }
+
+
+ my @found;
+ @found.push: $_.Int if %sums{ $_ } == 1 for %sums.keys;
+ @found;
+
+}
+
+
+sub MAIN( Int $u where { $u > 0 },
+ Int $v where { $v > 0 },
+ Int $limit = 10 ) {
+
+
+
+ my @ulam = $u, $v, $u + $v;
+
+ while @ulam.elems < $limit {
+ @ulam.push: do-sum( @ulam ).grep( { $_ > @ulam[ * - 1 ] } ).min;
+ }
+
+
+ @ulam.join( ',' ).say;
+
+}