aoc2015

Advent of Code 2015 solutions in Perl.
git clone git://git.samirparikh.com/aoc2015
Log | Files | Refs | README

commit 7c30566b498bbd2c49af37cfbee18cdf2aef84ef
parent 0cece4b6c7ecf0670a0f9fb616dd9e96c0ff9a9e
Author: Samir Parikh <noreply@samirparikh.com>
Date:   Sat, 12 Nov 2022 17:04:34 +0000

clean up code

Diffstat:
Mday20/day20.pl | 22+++++++---------------
1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/day20/day20.pl b/day20/day20.pl @@ -7,19 +7,11 @@ use v5.32; use Math::Prime::Util qw( divisors ); use List::Util qw( sum ); -my $input = 33100000; -my $house_number = 1; +my $input = 33100000; +my $house = 1; +$house++ while ( sum( divisors( $house ) ) * 10 < $input ); +say "part 1: ", $house; -$house_number++ while ( sum( divisors( $house_number ) ) * 10 < $input ); -say "part 1: ", $house_number; - -my $MAX_HOUSES = 50; -my $PRESENTS_PER_HOUSE = 11; -$house_number = 1; - -while (1) { - my $presents = $PRESENTS_PER_HOUSE * sum(grep { $_ >= $house_number/$MAX_HOUSES } divisors($house_number)); - last if $presents >= $input; - $house_number++; -} -say "part 2: ", $house_number; +$house = 1; +do { $house++ } until 11 * sum(grep { $_ >= $house/50 } divisors($house)) >= $input; +say "part 2: ", $house;