aboutsummaryrefslogtreecommitdiff
path: root/challenge-158
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2022-04-03 18:25:32 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2022-04-03 18:25:32 -0400
commitb422e5e81236a1c24d53f281ffd5d166f7f01f30 (patch)
treee691f4de4871f474358b07e3b6cc4c94bb8cd635 /challenge-158
parentcac254d63bca6e312efe7f414b164e6e0510d1bb (diff)
downloadperlweeklychallenge-club-b422e5e81236a1c24d53f281ffd5d166f7f01f30.tar.gz
perlweeklychallenge-club-b422e5e81236a1c24d53f281ffd5d166f7f01f30.tar.bz2
perlweeklychallenge-club-b422e5e81236a1c24d53f281ffd5d166f7f01f30.zip
Challenge 158 by Jaldhar H. Vyas.
Diffstat (limited to 'challenge-158')
-rw-r--r--challenge-158/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-158/jaldhar-h-vyas/perl/ch-1.pl36
-rwxr-xr-xchallenge-158/jaldhar-h-vyas/perl/ch-2.pl39
-rwxr-xr-xchallenge-158/jaldhar-h-vyas/raku/ch-1.sh3
-rwxr-xr-xchallenge-158/jaldhar-h-vyas/raku/ch-2.raku18
5 files changed, 97 insertions, 0 deletions
diff --git a/challenge-158/jaldhar-h-vyas/blog.txt b/challenge-158/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..15af04330f
--- /dev/null
+++ b/challenge-158/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2022/04/perl_weekly_challenge_week_158.html \ No newline at end of file
diff --git a/challenge-158/jaldhar-h-vyas/perl/ch-1.pl b/challenge-158/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..727512b2fe
--- /dev/null
+++ b/challenge-158/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,36 @@
+#!/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;
+}
+
+sub sum {
+ my ($arr) = @_;
+ my $total = 0;
+
+ for my $elem (@{$arr}) {
+ $total += $elem;
+ }
+
+ return $total;
+}
+
+say join q{, }, grep { isPrime(sum([split //])) } grep { isPrime($_) } 2 .. 100;
diff --git a/challenge-158/jaldhar-h-vyas/perl/ch-2.pl b/challenge-158/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..1b4e484b26
--- /dev/null
+++ b/challenge-158/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,39 @@
+#!/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 $y = 1;
+my @cubans;
+
+while(1) {
+ my $p = 3 * $y ** 2 + 3 * $y + 1;
+ if ($p > 1000) {
+ last;
+ }
+ if (isPrime($p)) {
+ push @cubans, $p;
+ }
+ $y++;
+}
+
+say join q{, }, @cubans; \ No newline at end of file
diff --git a/challenge-158/jaldhar-h-vyas/raku/ch-1.sh b/challenge-158/jaldhar-h-vyas/raku/ch-1.sh
new file mode 100755
index 0000000000..7210ef4e3f
--- /dev/null
+++ b/challenge-158/jaldhar-h-vyas/raku/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e '(2 .. 100).grep({ .is-prime }).grep({ ([+] .comb).is-prime }).join(q{, }).say;'
diff --git a/challenge-158/jaldhar-h-vyas/raku/ch-2.raku b/challenge-158/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..a890d48c72
--- /dev/null
+++ b/challenge-158/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,18 @@
+#!/usr/bin/raku
+
+sub MAIN() {
+ my $y = 1;
+
+ gather {
+ loop {
+ my $p = 3 * $y ** 2 + 3 * $y + 1;
+ if $p > 1000 {
+ last;
+ }
+ if ($p.is-prime) {
+ take $p;
+ }
+ $y++;
+ }
+ }.join(q{, }).say;
+}