diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2023-01-13 03:44:01 -0500 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2023-01-16 01:47:37 -0500 |
| commit | 16c4b1beb68e6a046b3eea7e947cc09c6be2e75f (patch) | |
| tree | 3a90bcb3f470163b76c8f3e7250d1bd5a81fc78c | |
| parent | 13e4a2c007d7a0aac2bd1b8a48aa28003d772dc5 (diff) | |
| download | perlweeklychallenge-club-16c4b1beb68e6a046b3eea7e947cc09c6be2e75f.tar.gz perlweeklychallenge-club-16c4b1beb68e6a046b3eea7e947cc09c6be2e75f.tar.bz2 perlweeklychallenge-club-16c4b1beb68e6a046b3eea7e947cc09c6be2e75f.zip | |
Challenge 198 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-198/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-198/jaldhar-h-vyas/perl/ch-1.pl | 17 | ||||
| -rwxr-xr-x | challenge-198/jaldhar-h-vyas/perl/ch-2.pl | 27 | ||||
| -rwxr-xr-x | challenge-198/jaldhar-h-vyas/raku/ch-1.raku | 17 | ||||
| -rwxr-xr-x | challenge-198/jaldhar-h-vyas/raku/ch-2.sh | 3 |
5 files changed, 65 insertions, 0 deletions
diff --git a/challenge-198/jaldhar-h-vyas/blog.txt b/challenge-198/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..81e9a32575 --- /dev/null +++ b/challenge-198/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2023/01/perl_weekly_challenge_week_198.html
\ No newline at end of file diff --git a/challenge-198/jaldhar-h-vyas/perl/ch-1.pl b/challenge-198/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..4fd9ef1265 --- /dev/null +++ b/challenge-198/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,17 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +my @list = sort {$a <=> $b} @ARGV; + +if (scalar @list < 2) { + say 0; +} else { + my %gaps; + + for my $i (1 .. scalar @list - 1) { + push @{$gaps{($list[$i] - $list[$i - 1])}}, [$list[$i - 1], $list[$i]]; + } + + say scalar @{ $gaps{(sort { $gaps{$b} <=> $gaps{$a} } keys %gaps)[0]} }; +} diff --git a/challenge-198/jaldhar-h-vyas/perl/ch-2.pl b/challenge-198/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..e7a1d0f8c1 --- /dev/null +++ b/challenge-198/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub isPrime { + my ($n) = @_; + + if ($n < 2) { + return undef; + } + + if ($n == 2) { + return 1; + } + + for my $i (2 .. sqrt($n)) { + if ($n % $i == 0) { + return undef; + } + } + + return 1; +} + +my $n = shift // die "need an integer > 0\n"; + +say scalar grep { isPrime($_) } 0 .. $n; diff --git a/challenge-198/jaldhar-h-vyas/raku/ch-1.raku b/challenge-198/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..2a9a52fdc1 --- /dev/null +++ b/challenge-198/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,17 @@ +#!/usr/bin/raku + +sub MAIN(*@args) { + my @list = @args.sort({$^a <=> $^b}); + + if @list.elems < 2 { + say 0; + } else { + my %gaps; + + for 1 .. @list.end -> $i { + %gaps{(@list[$i] - @list[$i - 1])}.push([@list[$i - 1], @list[$i]]); + } + + %gaps.sort({ $^b.value.elems <=> $^a.value.elems }).first.value.elems.say; + } +}
\ No newline at end of file diff --git a/challenge-198/jaldhar-h-vyas/raku/ch-2.sh b/challenge-198/jaldhar-h-vyas/raku/ch-2.sh new file mode 100755 index 0000000000..bd6912c59a --- /dev/null +++ b/challenge-198/jaldhar-h-vyas/raku/ch-2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e 'my $n = @*ARGS[0]; (0 .. $n).grep({ .is-prime }).elems.say' $@
\ No newline at end of file |
