day 1
This commit is contained in:
commit
a89b15584e
2
day1/.gitignore
vendored
Normal file
2
day1/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/target
|
||||||
|
**/*.rs.bk
|
6
day1/Cargo.lock
generated
Normal file
6
day1/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "day1"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
9
day1/Cargo.toml
Normal file
9
day1/Cargo.toml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "day1"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Stefan Bühler <stbuehler@web.de>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
100
day1/src/input.txt
Normal file
100
day1/src/input.txt
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
77680
|
||||||
|
106826
|
||||||
|
120225
|
||||||
|
122031
|
||||||
|
100287
|
||||||
|
70402
|
||||||
|
145496
|
||||||
|
73956
|
||||||
|
148205
|
||||||
|
52065
|
||||||
|
149237
|
||||||
|
116195
|
||||||
|
84309
|
||||||
|
105327
|
||||||
|
134606
|
||||||
|
109489
|
||||||
|
104474
|
||||||
|
69536
|
||||||
|
141469
|
||||||
|
72321
|
||||||
|
75154
|
||||||
|
142565
|
||||||
|
57104
|
||||||
|
111925
|
||||||
|
100109
|
||||||
|
75178
|
||||||
|
115130
|
||||||
|
75586
|
||||||
|
148587
|
||||||
|
116029
|
||||||
|
113969
|
||||||
|
66072
|
||||||
|
90521
|
||||||
|
116324
|
||||||
|
137009
|
||||||
|
92880
|
||||||
|
110895
|
||||||
|
131046
|
||||||
|
83273
|
||||||
|
99576
|
||||||
|
70466
|
||||||
|
93602
|
||||||
|
63435
|
||||||
|
103569
|
||||||
|
56610
|
||||||
|
58392
|
||||||
|
95060
|
||||||
|
59101
|
||||||
|
121838
|
||||||
|
93494
|
||||||
|
52243
|
||||||
|
146982
|
||||||
|
142260
|
||||||
|
107232
|
||||||
|
117600
|
||||||
|
59715
|
||||||
|
80284
|
||||||
|
128223
|
||||||
|
123676
|
||||||
|
81060
|
||||||
|
99425
|
||||||
|
50621
|
||||||
|
101184
|
||||||
|
112136
|
||||||
|
131262
|
||||||
|
53150
|
||||||
|
113522
|
||||||
|
117802
|
||||||
|
120251
|
||||||
|
102322
|
||||||
|
111247
|
||||||
|
117719
|
||||||
|
88873
|
||||||
|
133541
|
||||||
|
92695
|
||||||
|
125445
|
||||||
|
149048
|
||||||
|
146928
|
||||||
|
83909
|
||||||
|
109466
|
||||||
|
94063
|
||||||
|
62338
|
||||||
|
124098
|
||||||
|
64769
|
||||||
|
104722
|
||||||
|
106612
|
||||||
|
53882
|
||||||
|
108847
|
||||||
|
92739
|
||||||
|
88496
|
||||||
|
89773
|
||||||
|
57471
|
||||||
|
140532
|
||||||
|
87308
|
||||||
|
137247
|
||||||
|
62816
|
||||||
|
118893
|
||||||
|
101446
|
||||||
|
149208
|
||||||
|
68267
|
29
day1/src/main.rs
Normal file
29
day1/src/main.rs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
fn fuel_for_modules1(input: &str) -> i64 {
|
||||||
|
let mut fuel: i64 = 0;
|
||||||
|
for module in input.split_whitespace() {
|
||||||
|
let module: i64 = module.parse().unwrap();
|
||||||
|
fuel += (module / 3) - 2;
|
||||||
|
}
|
||||||
|
fuel
|
||||||
|
}
|
||||||
|
|
||||||
|
fn fuel_for_mass2(mass: u64) -> u64 {
|
||||||
|
if mass <= 8 { return 0; } /* wish really hard */
|
||||||
|
let fuel = mass / 3 - 2;
|
||||||
|
fuel + fuel_for_mass2(fuel)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn fuel_for_modules2(input: &str) -> u64 {
|
||||||
|
let mut fuel: u64 = 0;
|
||||||
|
for module in input.split_whitespace() {
|
||||||
|
let module: u64 = module.parse().unwrap();
|
||||||
|
fuel += fuel_for_mass2(module);
|
||||||
|
}
|
||||||
|
fuel
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let input = include_str!("input.txt");
|
||||||
|
println!("Fuel 1: {}", fuel_for_modules1(input));
|
||||||
|
println!("Fuel 2: {}", fuel_for_modules2(input));
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user