aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-01-05 20:16:23 +0000
committerGitHub <noreply@github.com>2023-01-05 20:16:23 +0000
commit744d48aaf56cf5749fee4b79970567b191370a11 (patch)
tree119fe13741819163677575cdecbd1ca02f4a2738
parent2c11d4024a3079a1aad47ba623a957ae97cfe490 (diff)
parent1a5d3463572320725e67aa0f802bc4a7f16f50ba (diff)
downloadperlweeklychallenge-club-744d48aaf56cf5749fee4b79970567b191370a11.tar.gz
perlweeklychallenge-club-744d48aaf56cf5749fee4b79970567b191370a11.tar.bz2
perlweeklychallenge-club-744d48aaf56cf5749fee4b79970567b191370a11.zip
Merge pull request #7364 from rawleyfowler/master
Day 198 in Raku
-rw-r--r--challenge-198/rawleyfowler/README.md5
-rw-r--r--challenge-198/rawleyfowler/task1.raku17
-rw-r--r--challenge-198/rawleyfowler/task2.raku1
3 files changed, 23 insertions, 0 deletions
diff --git a/challenge-198/rawleyfowler/README.md b/challenge-198/rawleyfowler/README.md
new file mode 100644
index 0000000000..f55ad6c829
--- /dev/null
+++ b/challenge-198/rawleyfowler/README.md
@@ -0,0 +1,5 @@
+## How to run
+```bash
+raku task1.raku '2 5 8 1' # Find gap pairs
+raku task2.raku '100' # Find primes
+```
diff --git a/challenge-198/rawleyfowler/task1.raku b/challenge-198/rawleyfowler/task1.raku
new file mode 100644
index 0000000000..e3f2468cec
--- /dev/null
+++ b/challenge-198/rawleyfowler/task1.raku
@@ -0,0 +1,17 @@
+die 'Requires one argument, a list of numbers ie: "1 2 3 4 5 6"' unless @*ARGS.elems;
+say 0 && die if @*ARGS[0].split(/\s/).elems <= 2;
+
+my @vals = @*ARGS[0].split(/\s/).map(*.Int);
+my $max-dist = -1;
+my @pairs;
+loop (my $i = 0; $i < @vals.elems - 1; $i++) {
+ next if @vals[$i] > @vals[$i+1];
+ $max-dist = max($max-dist, @vals[$i+1]- @vals[$i]);
+ if (@vals[$i+1] - @vals[$i]) == $max-dist {
+ @pairs.push: (@vals[$i], @vals[$i+1]);
+ }
+}
+
+say @pairs.raku;
+
+# vim: expandtab shiftwidth=4
diff --git a/challenge-198/rawleyfowler/task2.raku b/challenge-198/rawleyfowler/task2.raku
new file mode 100644
index 0000000000..b7116610e4
--- /dev/null
+++ b/challenge-198/rawleyfowler/task2.raku
@@ -0,0 +1 @@
+(^(+@*ARGS[0] || die 'Invalid number supplied')).grep(*.is-prime).elems.say;