diff options
| author | KjetilS <kjetilskotheim@gmail.com> | 2025-06-15 21:32:36 +0200 |
|---|---|---|
| committer | KjetilS <kjetilskotheim@gmail.com> | 2025-06-15 21:32:36 +0200 |
| commit | f99ae81c2bc6c012fbe6125dc634a280f0f1b455 (patch) | |
| tree | 52ff5b1b49a05fb199bca45a8f68cb5de932723e | |
| parent | ad3c4fbdf5f413b89009af4283bfc662c5677610 (diff) | |
| download | perlweeklychallenge-club-f99ae81c2bc6c012fbe6125dc634a280f0f1b455.tar.gz perlweeklychallenge-club-f99ae81c2bc6c012fbe6125dc634a280f0f1b455.tar.bz2 perlweeklychallenge-club-f99ae81c2bc6c012fbe6125dc634a280f0f1b455.zip | |
https://theweeklychallenge.org/blog/perl-weekly-challenge-324/
| -rw-r--r-- | challenge-324/kjetillll/perl/ch-1.pl | 10 | ||||
| -rw-r--r-- | challenge-324/kjetillll/perl/ch-2.pl | 9 |
2 files changed, 19 insertions, 0 deletions
diff --git a/challenge-324/kjetillll/perl/ch-1.pl b/challenge-324/kjetillll/perl/ch-1.pl new file mode 100644 index 0000000000..6b3d4d6897 --- /dev/null +++ b/challenge-324/kjetillll/perl/ch-1.pl @@ -0,0 +1,10 @@ +sub f { + my $c = pop; + @_ ? ( [ splice @_, 0, $c ], f(@_, $c) ) : (); +} + +use Test::More; +is_deeply [ f( 1, 2, 3, 4, 2 ) ] => [ [1, 2], [3, 4] ]; +is_deeply [ f( 1, 2, 3, 3 ) ] => [ [1, 2, 3] ]; +is_deeply [ f( 1, 2, 3, 4, 1 ) ] => [ [1], [2], [3], [4] ]; +done_testing; diff --git a/challenge-324/kjetillll/perl/ch-2.pl b/challenge-324/kjetillll/perl/ch-2.pl new file mode 100644 index 0000000000..2754403d9d --- /dev/null +++ b/challenge-324/kjetillll/perl/ch-2.pl @@ -0,0 +1,9 @@ +use Algorithm::Combinatorics 'subsets'; + +sub f { eval join '+', map eval join('^', @$_), subsets \@_ } + +use Test::More; +is f(1, 3) => 6; +is f(5, 1, 6) => 28; +is f(3, 4, 5, 6, 7, 8) => 480; +done_testing; |
