From 41ea2c12cfe99080fdcf1047cfc4292f41e5d816 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Sat, 7 Dec 2024 06:24:55 +0100 Subject: [PATCH] Day 7: straightforward for Saturday --- 2024/13.pl | 24 ++++++++++++++++++++++++ 2024/14.pl | 25 +++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100755 2024/13.pl create mode 100755 2024/14.pl diff --git a/2024/13.pl b/2024/13.pl new file mode 100755 index 0000000..17f5a40 --- /dev/null +++ b/2024/13.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl -w + +use v5.40; + +my $sum; +sub test { + my ($res, $v1, $v2, @rest) = @_; + if (defined $v2) { + test($res, $v1+$v2, @rest); + test($res, $v1*$v2, @rest); + } else { + if ($v1 == $res) { + $sum += $res; + die; + } + } +} + +while (<>) { + my @v = /\d+/g; + eval { test(@v); }; +} + +say $sum; diff --git a/2024/14.pl b/2024/14.pl new file mode 100755 index 0000000..40faef1 --- /dev/null +++ b/2024/14.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl -w + +use v5.40; + +my $sum; +sub test { + my ($res, $v1, $v2, @rest) = @_; + if (defined $v2) { + test($res, $v1+$v2, @rest); + test($res, $v1*$v2, @rest); + test($res, "$v1$v2", @rest); + } else { + if ($v1 == $res) { + $sum += $res; + die; + } + } +} + +while (<>) { + my @v = /\d+/g; + eval { test(@v); }; +} + +say $sum; -- 2.43.5