32 lines
781 B
Rust
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);
|
|
}
|
|
}
|