From f99ae81c2bc6c012fbe6125dc634a280f0f1b455 Mon Sep 17 00:00:00 2001 From: KjetilS Date: Sun, 15 Jun 2025 21:32:36 +0200 Subject: https://theweeklychallenge.org/blog/perl-weekly-challenge-324/ --- challenge-324/kjetillll/perl/ch-1.pl | 10 ++++++++++ challenge-324/kjetillll/perl/ch-2.pl | 9 +++++++++ 2 files changed, 19 insertions(+) create mode 100644 challenge-324/kjetillll/perl/ch-1.pl create mode 100644 challenge-324/kjetillll/perl/ch-2.pl 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; -- cgit