aoc_omni/ruby/2019/1/lib/rocket_equation.rb
2025-12-05 20:09:29 -05:00

21 lines
333 B
Ruby

class RocketEquation
attr_reader :mass
def initialize(mass)
@mass = mass
end
def self.for(line)
new line.to_i
end
def fuel_required
[(mass / 3) - 2, 0].max
end
def more_fuel_required
return 0 unless mass.positive?
fuel_required + RocketEquation.new(fuel_required).more_fuel_required
end
end