From 7d86157dfe52a76e03694be4592e32d9dec69ed9 Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Thu, 7 Nov 2024 22:27:13 +0000 Subject: Do a bunch more in ruby --- rb/day20.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 rb/day20.rb (limited to 'rb/day20.rb') diff --git a/rb/day20.rb b/rb/day20.rb new file mode 100755 index 0000000..d71f7db --- /dev/null +++ b/rb/day20.rb @@ -0,0 +1,25 @@ +#!/usr/bin/env ruby + +require "prime" + +def factors(m) + return [1] if 1 == m + primes, powers = Prime.prime_division(m).transpose + ranges = powers.map { |n| (0..n).to_a } + ranges[0] + .product( *ranges[1..-1] ) + .map { |es| primes + .zip(es) + .map { |p, e| p ** e } + .reduce(:*) + }.sort +end + +target = File.read("day20.input").strip.to_i + +i = 1 +loop do + break if factors(i).sum * 10 >= target + i += 1 +end +puts i -- cgit v1.2.1