aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-013/jo-37/perl/ch-2.pl21
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-013/jo-37/perl/ch-2.pl b/challenge-013/jo-37/perl/ch-2.pl
new file mode 100755
index 0000000000..99e209cda5
--- /dev/null
+++ b/challenge-013/jo-37/perl/ch-2.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+use v5.16;
+use warnings;
+use experimental 'signatures';
+
+main: {
+ my $n = shift;
+ say "female: @{[map female($_), 0 .. $n]}";
+ say "male: @{[map male($_), 0 .. $n]}";
+}
+
+sub female ($n) {
+ return 1 if $n == 0;
+ $n - male(female($n - 1));
+}
+
+sub male ($n) {
+ return 0 if $n == 0;
+ $n - female(male($n - 1));
+}