diff options
| -rwxr-xr-x | challenge-108/perlboy1967/perl/ch-1.pl | 18 | ||||
| -rwxr-xr-x | challenge-108/perlboy1967/perl/ch-2.pl | 37 |
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); |
