diff options
| author | boldcaml <boldcaml@proton.me> | 2023-01-09 10:26:35 -0600 |
|---|---|---|
| committer | boldcaml <boldcaml@proton.me> | 2023-01-09 10:26:35 -0600 |
| commit | 47e5d4fe1a78c50e54d7884d0fec4c989fa2bce0 (patch) | |
| tree | 068322c8c74f2f1d9eb44a9107265e8c898e5f97 /challenge-199 | |
| parent | b8a1cd65abd85f6cf9df5b9dc5bc34677763b531 (diff) | |
| download | perlweeklychallenge-club-47e5d4fe1a78c50e54d7884d0fec4c989fa2bce0.tar.gz perlweeklychallenge-club-47e5d4fe1a78c50e54d7884d0fec4c989fa2bce0.tar.bz2 perlweeklychallenge-club-47e5d4fe1a78c50e54d7884d0fec4c989fa2bce0.zip | |
finish day 199
Diffstat (limited to 'challenge-199')
| -rw-r--r-- | challenge-199/rawleyfowler/README.md | 4 | ||||
| -rw-r--r-- | challenge-199/rawleyfowler/raku/ch-1.raku | 10 | ||||
| -rw-r--r-- | challenge-199/rawleyfowler/raku/ch-2.raku | 16 |
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; +} |
