From 16c4b1beb68e6a046b3eea7e947cc09c6be2e75f Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Fri, 13 Jan 2023 03:44:01 -0500 Subject: Challenge 198 by Jaldhar H. Vyas. --- challenge-198/jaldhar-h-vyas/blog.txt | 1 + challenge-198/jaldhar-h-vyas/perl/ch-1.pl | 17 +++++++++++++++++ challenge-198/jaldhar-h-vyas/perl/ch-2.pl | 27 +++++++++++++++++++++++++++ challenge-198/jaldhar-h-vyas/raku/ch-1.raku | 17 +++++++++++++++++ challenge-198/jaldhar-h-vyas/raku/ch-2.sh | 3 +++ 5 files changed, 65 insertions(+) create mode 100644 challenge-198/jaldhar-h-vyas/blog.txt create mode 100755 challenge-198/jaldhar-h-vyas/perl/ch-1.pl create mode 100755 challenge-198/jaldhar-h-vyas/perl/ch-2.pl create mode 100755 challenge-198/jaldhar-h-vyas/raku/ch-1.raku create mode 100755 challenge-198/jaldhar-h-vyas/raku/ch-2.sh 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 -- cgit