32 lines
781 B
Rust

use std::fs::File;
use std::io::{BufRead, BufReader};
fn main() {
let reader = BufReader::new(File::open("../input").unwrap());
let mut result_part_one: i64 = 0;
let mut result_part_two: i64 = 0;
for line in reader.lines() {
let n = line.unwrap().parse::<i64>().unwrap();
result_part_one += calculate_fuel1(n);
result_part_two += calculate_fuel2(n);
}
println!("Solution for Part One: {}", result_part_one);
println!("Solution for Part Two: {}", result_part_two);
}
fn calculate_fuel1(mass: i64) -> i64 {
let fuel = mass / 3 - 2;
return fuel
}
fn calculate_fuel2(mass: i64) -> i64 {
let fuel = mass / 3 - 2;
if fuel < 0 {
return 0;
} else {
return (fuel) + calculate_fuel2(fuel);
}
}