24 lines
522 B
Nim
24 lines
522 B
Nim
import math, strutils
|
|
|
|
proc fuelCalc(mass: int): int =
|
|
floor(mass / 3).toInt - 2
|
|
|
|
|
|
proc calcForFuel(fuelMass: int): int =
|
|
let required = fuelCalc(fuelMass)
|
|
if required <= 0:
|
|
return 0
|
|
else:
|
|
return required + calcForFuel(required)
|
|
|
|
proc calc(mass: int): int =
|
|
var massFuel = fuelCalc(mass)
|
|
var fuelFuel = calcForFuel(massFuel)
|
|
return massFuel + fuelFuel
|
|
|
|
var result = 0;
|
|
var file = open("input.txt", fmRead);
|
|
for line in file.lines:
|
|
result += calc(line.parseInt)
|
|
|
|
echo result |