aboutsummaryrefslogtreecommitdiff
path: root/challenge-020/mark-anderson
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-08-06 14:29:09 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-08-06 14:29:09 +0100
commit4b8b136f68f8ee1881b1b7e88bdb6c554eda7b59 (patch)
tree228238207f8a7f0b51a1390c084a38cf01cd426f /challenge-020/mark-anderson
parent3b4cbfd6e6b966766b138b8254329c96c18ad054 (diff)
downloadperlweeklychallenge-club-4b8b136f68f8ee1881b1b7e88bdb6c554eda7b59.tar.gz
perlweeklychallenge-club-4b8b136f68f8ee1881b1b7e88bdb6c554eda7b59.tar.bz2
perlweeklychallenge-club-4b8b136f68f8ee1881b1b7e88bdb6c554eda7b59.zip
- Added solutions by Mark Anderson.
Diffstat (limited to 'challenge-020/mark-anderson')
-rw-r--r--challenge-020/mark-anderson/perl5/ch-1.pl14
-rw-r--r--challenge-020/mark-anderson/perl5/ch-2.pl26
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-020/mark-anderson/perl5/ch-1.pl b/challenge-020/mark-anderson/perl5/ch-1.pl
new file mode 100644
index 0000000000..406398139e
--- /dev/null
+++ b/challenge-020/mark-anderson/perl5/ch-1.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+
+use Modern::Perl '2018';
+
+my $string = shift || 'ABBCDEEF';
+my @array;
+
+while($string =~ /((.)\2*)/g) {
+ push @array, $1;
+}
+
+say "@array";
+
+
diff --git a/challenge-020/mark-anderson/perl5/ch-2.pl b/challenge-020/mark-anderson/perl5/ch-2.pl
new file mode 100644
index 0000000000..b3f29fd3bf
--- /dev/null
+++ b/challenge-020/mark-anderson/perl5/ch-2.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/env perl
+
+use Modern::Perl '2018';
+use List::Util 'sum';
+use Math::Factor::XS 'factors';
+
+my %sum;
+
+my $num_1 = 0;
+
+while(1) {
+ $num_1++;
+
+ my $num_2 = sum (1, factors($num_1));
+
+ next if $num_1 == $num_2;
+
+ $sum{$num_1} = $num_2;
+
+ $sum{$num_2} // next;
+
+ if($num_1 == $sum{$num_2}) {
+ say "$num_2, $num_1";
+ last;
+ }
+}