day20.pl (389B) - raw
1 #!/usr/local/bin/perl 2 # day 2015-20 3 4 use strict; 5 use warnings; 6 use v5.32; 7 use Math::Prime::Util qw( divisors ); 8 use List::Util qw( sum ); 9 10 my $input = 33100000; 11 my $house = 1; 12 $house++ while ( sum( divisors( $house ) ) * 10 < $input ); 13 say "part 1: ", $house; 14 15 $house = 1; 16 do { $house++ } until 11 * sum(grep { $_ >= $house/50 } divisors($house)) >= $input; 17 say "part 2: ", $house;