aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Campbell Smith <pj.campbell.smith@gmail.com>2022-03-30 17:37:59 +0100
committerPeter Campbell Smith <pj.campbell.smith@gmail.com>2022-03-30 17:37:59 +0100
commit8bcffac9c9e8e4c75202d83ee46690bdded48b20 (patch)
tree8ab9dc33556390409655d88bf58f1d8f88827e3c
parent8f840b28f848d79795ec9c8e5ed154b5e32dc60d (diff)
downloadperlweeklychallenge-club-8bcffac9c9e8e4c75202d83ee46690bdded48b20.tar.gz
perlweeklychallenge-club-8bcffac9c9e8e4c75202d83ee46690bdded48b20.tar.bz2
perlweeklychallenge-club-8bcffac9c9e8e4c75202d83ee46690bdded48b20.zip
My submissions for week 158
-rw-r--r--challenge-158/peter-campbell-smith/blog.txt1
-rwxr-xr-xchallenge-158/peter-campbell-smith/perl/ch-1.pl24
-rwxr-xr-xchallenge-158/peter-campbell-smith/perl/ch-2.pl27
3 files changed, 52 insertions, 0 deletions
diff --git a/challenge-158/peter-campbell-smith/blog.txt b/challenge-158/peter-campbell-smith/blog.txt
new file mode 100644
index 0000000000..da7548e462
--- /dev/null
+++ b/challenge-158/peter-campbell-smith/blog.txt
@@ -0,0 +1 @@
+https://pjcs-pwc.blogspot.com/2022/03/all-about-primes.html
diff --git a/challenge-158/peter-campbell-smith/perl/ch-1.pl b/challenge-158/peter-campbell-smith/perl/ch-1.pl
new file mode 100755
index 0000000000..10bac15e5d
--- /dev/null
+++ b/challenge-158/peter-campbell-smith/perl/ch-1.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+# Peter Campbell Smith - 2022-03-30
+# PWC 158 task 1
+
+use v5.28;
+use strict;
+use warnings;
+use utf8;
+
+use Math::Prime::Util 'is_prime';
+
+# Write a script to find out all Additive Primes <= 100.
+# Additive primes are prime numbers for which the sum of their decimal digits are also primes.
+
+# blog: https://pjcs-pwc.blogspot.com/2022/03/all-about-primes.html
+
+my ($j, $s);
+
+for $j (1 .. 100) {
+ next unless is_prime($j);
+ $s = $j % 10 + int($j / 10) % 10 + int($j / 100) % 10;
+ say qq[$j is an additive prime whose digits sum to $s] if is_prime($s);
+}
diff --git a/challenge-158/peter-campbell-smith/perl/ch-2.pl b/challenge-158/peter-campbell-smith/perl/ch-2.pl
new file mode 100755
index 0000000000..5e887588b9
--- /dev/null
+++ b/challenge-158/peter-campbell-smith/perl/ch-2.pl
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+# Peter Campbell Smith - 2022-03-30
+# PWC 158 task 2
+
+use v5.28;
+use strict;
+use warnings;
+use utf8;
+use Math::Prime::Util 'is_prime';
+
+my ($y, $test, $result);
+
+# Write a script to compute first series Cuban Primes <= 1000.
+# The first Cuban prime series terms are values of 3y^2 + 3y + 1 for y = 1 .. which are prime
+
+# blog: https://pjcs-pwc.blogspot.com/2022/03/all-about-primes.html
+
+$test = 7; # 3 * $y**2 + 3 * $y + 1 for y == 1
+for $y (1 .. 1000) {
+ last if $test > 1000;
+ $result .= qq[$test, ] if is_prime($test);
+ $test += 6 * ($y + 1);
+}
+
+say qq[The terms of the first Cuban series <= 1000 are:];
+say substr($result, 0, -2) . '.';