aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-082/dave-cross/perl/ch-1.pl19
-rw-r--r--challenge-082/dave-cross/perl/ch-2.pl22
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-082/dave-cross/perl/ch-1.pl b/challenge-082/dave-cross/perl/ch-1.pl
new file mode 100644
index 0000000000..bd69ad31a1
--- /dev/null
+++ b/challenge-082/dave-cross/perl/ch-1.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use feature 'say';
+
+my (@in) = grep { ! /\D/ } @ARGV;
+die "Give me exactly two integers\n" unless @in == 2;
+
+my %factors;
+
+for my $x (@in) {
+ for my $y (1 .. $x) {
+ $factors{$y}++ unless $x % $y;
+ }
+}
+
+say '(', join(', ', grep { $factors{$_} == 2 } sort keys %factors), ')';
diff --git a/challenge-082/dave-cross/perl/ch-2.pl b/challenge-082/dave-cross/perl/ch-2.pl
new file mode 100644
index 0000000000..4297fb3350
--- /dev/null
+++ b/challenge-082/dave-cross/perl/ch-2.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use feature 'say';
+
+die "Give me three strings\n" unless @ARGV == 3;
+
+my ($bit1, $bit2, $result) = @ARGV;
+
+my $done;
+
+for (0 .. length $bit1) {
+ my $foo = $bit1;
+ substr($foo, $_, 0, $bit2);
+ if ($foo eq $result) {
+ $done = 1;
+ last;
+ }
+}
+
+say $done ? 1 : 0;