aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-01-23 00:08:01 +0000
committerGitHub <noreply@github.com>2023-01-23 00:08:01 +0000
commit33817079fb920091e06432d7c977f3bbef8a9cbc (patch)
tree5d2d45a72662c5a952cea084ca3a154f813cc0f8
parent25bd6ab8cc6855b7539a293c2a4a6b8eb02134d0 (diff)
parent16c4b1beb68e6a046b3eea7e947cc09c6be2e75f (diff)
downloadperlweeklychallenge-club-33817079fb920091e06432d7c977f3bbef8a9cbc.tar.gz
perlweeklychallenge-club-33817079fb920091e06432d7c977f3bbef8a9cbc.tar.bz2
perlweeklychallenge-club-33817079fb920091e06432d7c977f3bbef8a9cbc.zip
Merge pull request #7424 from jaldhar/challenge-198
Challenge 198 by Jaldhar H. Vyas.
-rw-r--r--challenge-198/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-198/jaldhar-h-vyas/perl/ch-1.pl17
-rwxr-xr-xchallenge-198/jaldhar-h-vyas/perl/ch-2.pl27
-rwxr-xr-xchallenge-198/jaldhar-h-vyas/raku/ch-1.raku17
-rwxr-xr-xchallenge-198/jaldhar-h-vyas/raku/ch-2.sh3
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