Remove cargo stuff for rust and add python implementation

This commit is contained in:
2019-12-01 18:45:08 +01:00
parent 16fdb976d9
commit c507a894e0
5 changed files with 52 additions and 50 deletions
-9
View File
@@ -1,9 +0,0 @@
[package]
name = "day1"
version = "0.1.0"
authors = ["Tobias Eidelpes <tobias@eidelpes.info>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
+31
View File
@@ -0,0 +1,31 @@
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);
}
}
-30
View File
@@ -1,30 +0,0 @@
use std::fs::File;
use std::env;
use std::io::{Error, BufRead, BufReader};
fn main() -> Result<(), Error> {
let args: Vec<String> = env::args().collect();
let filename = &args[1];
let reader = BufReader::new(File::open(filename).unwrap());
let mut result: i64 = 0;
for line in reader.lines() {
let n = line.unwrap().parse::<i64>().unwrap();
result += calculate_fuel(n);
}
println!("Result: {}", result);
Ok(())
}
fn calculate_fuel(mass: i64) -> i64 {
let fuel = mass / 3 - 2;
if fuel < 0 {
return 0;
} else {
return (fuel) + calculate_fuel(fuel);
}
}