aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-01-10 18:34:38 +0000
committerGitHub <noreply@github.com>2023-01-10 18:34:38 +0000
commita6b92825aedfd18fda122966c0de86e28acf1792 (patch)
tree011d6b147c81c6125d069e2f57bd1a318b73da13
parent6d56ad736a52e059f5afd4e644dfb05f737e70e5 (diff)
parent47e5d4fe1a78c50e54d7884d0fec4c989fa2bce0 (diff)
downloadperlweeklychallenge-club-a6b92825aedfd18fda122966c0de86e28acf1792.tar.gz
perlweeklychallenge-club-a6b92825aedfd18fda122966c0de86e28acf1792.tar.bz2
perlweeklychallenge-club-a6b92825aedfd18fda122966c0de86e28acf1792.zip
Merge pull request #7390 from rawleyfowler/master
Finish day 199
-rw-r--r--challenge-199/rawleyfowler/README.md4
-rw-r--r--challenge-199/rawleyfowler/raku/ch-1.raku10
-rw-r--r--challenge-199/rawleyfowler/raku/ch-2.raku16
3 files changed, 28 insertions, 2 deletions
diff --git a/challenge-199/rawleyfowler/README.md b/challenge-199/rawleyfowler/README.md
index 4d4b3f88f8..bdb7081cb4 100644
--- a/challenge-199/rawleyfowler/README.md
+++ b/challenge-199/rawleyfowler/README.md
@@ -1,5 +1,5 @@
## How to run
```bash
-raku raku/ch-1.raku '2 5 8 1' # Find gap pairs
-raku raku/ch-2.raku '100' # Find primes
+raku raku/ch-1.raku '1 2 3 1 1 3' # Find good pairs
+raku raku/ch-2.raku '3 0 1 1 9 7' 7 2 3 # Find good triplets
```
diff --git a/challenge-199/rawleyfowler/raku/ch-1.raku b/challenge-199/rawleyfowler/raku/ch-1.raku
new file mode 100644
index 0000000000..b8d22b8e08
--- /dev/null
+++ b/challenge-199/rawleyfowler/raku/ch-1.raku
@@ -0,0 +1,10 @@
+my @lst = @*ARGS[0].split: /\s/;
+die 'No list provided' unless @lst.elems > 0;
+
+loop (my $i = 0; $i < @lst.elems; $i++) {
+ state $count = 0;
+ loop (my $j = $i + 1; $j < @lst.elems; $j++) {
+ $count++ if @lst[$i] == @lst[$j];
+ }
+ say $count if $i + 1 == @lst.elems;
+}
diff --git a/challenge-199/rawleyfowler/raku/ch-2.raku b/challenge-199/rawleyfowler/raku/ch-2.raku
new file mode 100644
index 0000000000..654f21d055
--- /dev/null
+++ b/challenge-199/rawleyfowler/raku/ch-2.raku
@@ -0,0 +1,16 @@
+use v6;
+sub MAIN($lst, $x, $y, $z) {
+ my @lst = $lst.split(/\s/) || die 'Bad list passed';
+ my $n = @lst.elems - 1;
+ my $count = 0;
+ for 0..$n -> $i {
+ for ($i+1)..$n -> $j {
+ for ($j+1)..$n -> $k {
+ if abs(@lst[$i] - @lst[$j]) <= $x &&
+ abs(@lst[$j] - @lst[$k]) <= $y &&
+ abs(@lst[$i] - @lst[$k]) <= $z { $count++ }
+ }
+ }
+ }
+ say $count;
+}