diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-04-15 10:44:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-15 10:44:54 +0100 |
| commit | 9f8b2512eb069901c38cb2da30c5e6b60bfc742a (patch) | |
| tree | b24f8b255ae1d2bca066783f8aab51ba232bdca2 | |
| parent | db23abf5bf6be8bc63923d3049a92b8b43600b66 (diff) | |
| parent | 1f0f50c52396be3a1e4ace5c35c736ecbde05db5 (diff) | |
| download | perlweeklychallenge-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-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); |
