aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-04-15 10:44:54 +0100
committerGitHub <noreply@github.com>2021-04-15 10:44:54 +0100
commit9f8b2512eb069901c38cb2da30c5e6b60bfc742a (patch)
treeb24f8b255ae1d2bca066783f8aab51ba232bdca2
parentdb23abf5bf6be8bc63923d3049a92b8b43600b66 (diff)
parent1f0f50c52396be3a1e4ace5c35c736ecbde05db5 (diff)
downloadperlweeklychallenge-club-9f8b2512eb069901c38cb2da30c5e6b60bfc742a.tar.gz
perlweeklychallenge-club-9f8b2512eb069901c38cb2da30c5e6b60bfc742a.tar.bz2
perlweeklychallenge-club-9f8b2512eb069901c38cb2da30c5e6b60bfc742a.zip
Merge pull request #3897 from PerlBoy1967/branch-for-challenge-108
Task 1 & 2
-rwxr-xr-xchallenge-108/perlboy1967/perl/ch-1.pl18
-rwxr-xr-xchallenge-108/perlboy1967/perl/ch-2.pl37
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-108/perlboy1967/perl/ch-1.pl b/challenge-108/perlboy1967/perl/ch-1.pl
new file mode 100755
index 0000000000..9b636e7ee4
--- /dev/null
+++ b/challenge-108/perlboy1967/perl/ch-1.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+
+# Perl Weekly Challenge - 108
+# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-108/#TASK1
+#
+# Task 1 - Locate Memory
+#
+# Author: Niels 'PerlBoy' van Dijke
+
+use v5.16;
+use strict;
+use warnings;
+
+use constant TEST => 1;
+
+\TEST =~ m#SCALAR\((?<location>.*?)\)#;
+
+printf "%s\n" , $+{location} // 'undef',
diff --git a/challenge-108/perlboy1967/perl/ch-2.pl b/challenge-108/perlboy1967/perl/ch-2.pl
new file mode 100755
index 0000000000..7a241b6215
--- /dev/null
+++ b/challenge-108/perlboy1967/perl/ch-2.pl
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+
+# Perl Weekly Challenge - 108
+# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-108/#TASK2
+#
+# Task 2 - Bell Numbers
+#
+# Author: Niels 'PerlBoy' van Dijke
+
+use v5.16;
+use strict;
+use warnings;
+
+my @bn = (1);
+
+# Using the 'Bell triangle' algorithm
+
+my $bnT = [[1]];
+
+foreach my $bTRidx (1..8) {
+ my $prevTRdim = scalar(@{$bnT->[$bTRidx-1]});
+
+ # Copy
+ $bnT->[$bTRidx][0] = $bnT->[$bTRidx-1][$prevTRdim-1];
+ foreach my $bTCidx (1 .. $prevTRdim) {
+
+ # Add
+ $bnT->[$bTRidx][$bTCidx] =
+ $bnT->[$bTRidx-1][$bTCidx-1] +
+ $bnT->[$bTRidx][$bTCidx-1];
+ }
+
+ push(@bn, $bnT->[-1][-1]);
+}
+
+# Print
+printf "%s\n", join(' ',1,@bn);