diff options
| -rw-r--r-- | challenge-082/ddobbelaere/perl/ch-1.pl | 6 | ||||
| -rw-r--r-- | challenge-082/ddobbelaere/perl/ch-2.pl | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/challenge-082/ddobbelaere/perl/ch-1.pl b/challenge-082/ddobbelaere/perl/ch-1.pl index 1c7cca322f..a133d27921 100644 --- a/challenge-082/ddobbelaere/perl/ch-1.pl +++ b/challenge-082/ddobbelaere/perl/ch-1.pl @@ -46,6 +46,7 @@ sub common_factors { grep {!($N%$_ || $M%$_)} (1..$M); } +# Tests. while (<DATA>) { next if /^#/; /\(([^\)]*)\) \(([^\)]*)\)/; @@ -56,6 +57,11 @@ while (<DATA>) { @expected ~~ @actual || die "Error for (M,N)=($M,$N). Expected @expected, got @actual."; } +# Console interface. +if (@ARGV) { + say join ', ', common_factors(@ARGV); +} + __DATA__ # Test data. (12, 18) (1, 2, 3, 6) diff --git a/challenge-082/ddobbelaere/perl/ch-2.pl b/challenge-082/ddobbelaere/perl/ch-2.pl index 300fe8567e..cbb9057ad6 100644 --- a/challenge-082/ddobbelaere/perl/ch-2.pl +++ b/challenge-082/ddobbelaere/perl/ch-2.pl @@ -57,6 +57,7 @@ sub can_interleave { || (length $B && substr($B,-1) eq substr($C,-1) && can_interleave($A, substr($B,0,-1), substr($C,0,-1))); } +# Tests. while (<DATA>) { next if /^#/; /(\S*)\s*(\S*)\s*(\S*)\s*([01])/; @@ -65,6 +66,11 @@ while (<DATA>) { $expected == can_interleave($A, $B, $C) || die "Error for (A,B,C)=$A,$B,$C. Expected $expected."; } +# Console interface. +if (@ARGV) { + say 0+can_interleave(@ARGV); +} + __DATA__ # Test data of the form $A $B $C $output. XY X XXY 1 |
