Files
AdventOfCode/2019/day_01/day_01.go
Ettore Dreucci d979be90f9 2019. Day 1
Signed-off-by: Ettore Dreucci <ettore.dreucci@gmail.com>
2019-12-04 13:02:56 +01:00

42 lines
593 B
Go

package main
import (
"bufio"
"fmt"
"log"
"os"
"strconv"
)
func requiredFuel(mass int) int {
// Part 1
fuelReq := (mass / 3) - 2
// Part 2
if fuelReq <= 0 {
return 0
}
return fuelReq + requiredFuel(fuelReq)
}
func main() {
file, err := os.Open("./input")
if err != nil {
log.Fatal(err)
}
defer file.Close()
var fuelReq int = 0
scan := bufio.NewScanner(file)
for scan.Scan() {
mass, err := strconv.Atoi(scan.Text())
if err != nil {
log.Printf("Error converting line to int: %v", err)
} else {
fuelReq += requiredFuel(mass)
}
}
fmt.Println(fuelReq)
}