diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2023-01-05 20:16:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-05 20:16:23 +0000 |
| commit | 744d48aaf56cf5749fee4b79970567b191370a11 (patch) | |
| tree | 119fe13741819163677575cdecbd1ca02f4a2738 | |
| parent | 2c11d4024a3079a1aad47ba623a957ae97cfe490 (diff) | |
| parent | 1a5d3463572320725e67aa0f802bc4a7f16f50ba (diff) | |
| download | perlweeklychallenge-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.md | 5 | ||||
| -rw-r--r-- | challenge-198/rawleyfowler/task1.raku | 17 | ||||
| -rw-r--r-- | challenge-198/rawleyfowler/task2.raku | 1 |
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; |
