aboutsummaryrefslogtreecommitdiff
path: root/challenge-015
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-07-01 19:01:25 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-07-01 19:01:25 +0100
commit2575c978b5bad52dfeb99cf1df87542fa3df6078 (patch)
treec7497235d5f7bc84d23c59a50209c61ca8e7ceb4 /challenge-015
parenta04d318e2d8dbaf47dbbf5a77592b57f077699e8 (diff)
downloadperlweeklychallenge-club-2575c978b5bad52dfeb99cf1df87542fa3df6078.tar.gz
perlweeklychallenge-club-2575c978b5bad52dfeb99cf1df87542fa3df6078.tar.bz2
perlweeklychallenge-club-2575c978b5bad52dfeb99cf1df87542fa3df6078.zip
- Added solution by Simon Miner.
Diffstat (limited to 'challenge-015')
-rw-r--r--challenge-015/simon-miner/README1
-rw-r--r--challenge-015/simon-miner/perl5/ch-1.pl22
2 files changed, 23 insertions, 0 deletions
diff --git a/challenge-015/simon-miner/README b/challenge-015/simon-miner/README
new file mode 100644
index 0000000000..cc433eaa54
--- /dev/null
+++ b/challenge-015/simon-miner/README
@@ -0,0 +1 @@
+Solutions by Simon Miner.
diff --git a/challenge-015/simon-miner/perl5/ch-1.pl b/challenge-015/simon-miner/perl5/ch-1.pl
new file mode 100644
index 0000000000..9ec6f46e52
--- /dev/null
+++ b/challenge-015/simon-miner/perl5/ch-1.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my $type = shift @ARGV || 'strong';
+my @primes = grep( { ( 1 x $_ ) !~ /^1?$|^(11+?)\1+$/ } 1 .. 101 );
+my %first_10 = (
+ strong => [],
+ weak => [],
+);
+
+print "First 10 $type prime numbers:\n";
+
+my $count = 0;
+for ( my $n = 1; $n < @primes - 1; $n++ ) {
+ my $t = ( $primes[$n] > ( $primes[$n - 1] + $primes[$n + 1] ) / 2 ) ? 'strong' : 'weak';
+ next if @{ $first_10{$t} } >= 10;
+ push( @{ $first_10{$t} }, $primes[$n] );
+ #print "#" . @{ $first_10{$t} } . ": p($n) = $primes[$n]\n" if $type eq $t;
+ printf( "%3s: %5s = %2d\n", "#" . @{ $first_10{$t} }, "p($n)", $primes[$n] ) if $type eq $t;
+}